From de0cdd07402b3debbeb138f09ae409c4cd19b4b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=91=D1=80=D0=B0=D0=BD=D0=B8=D0=BC=D0=B8=D1=80=20=D0=9A?= =?UTF-8?q?=D0=B0=D1=80=D0=B0=D1=9F=D0=B8=D1=9B?= Date: Sat, 21 Feb 2026 19:00:38 -0800 Subject: [PATCH] Updated Tint. --- 3rdparty/dawn/include/tint/tint.h | 21 +- 3rdparty/dawn/include/webgpu/webgpu.h | 104 +- .../dawn/src/tint/api/common/override_id.h | 1 + .../tint/api/common/resource_table_config.h | 2 + .../dawn/src/tint/api/common/resource_type.h | 22 +- .../src/tint/api/common/subgroup_matrix.h | 1 - .../common/workgroup_info.h} | 40 +- .../src/tint/lang/core/constant/invalid.h | 1 + .../src/tint/lang/core/constant/manager.cc | 6 + .../src/tint/lang/core/constant/manager.h | 4 + .../src/tint/lang/core/constant/scalar.cc | 1 + 3rdparty/dawn/src/tint/lang/core/enums.cc | 87 +- 3rdparty/dawn/src/tint/lang/core/enums.h | 80 +- .../dawn/src/tint/lang/core/fluent_types.h | 23 +- .../dawn/src/tint/lang/core/intrinsic/data.cc | 19001 +++++++++----- .../src/tint/lang/core/intrinsic/table.cc | 68 +- .../dawn/src/tint/lang/core/intrinsic/table.h | 9 +- .../src/tint/lang/core/intrinsic/table_data.h | 8 +- .../tint/lang/core/intrinsic/type_matchers.h | 82 +- 3rdparty/dawn/src/tint/lang/core/ir/builder.h | 27 + .../dawn/src/tint/lang/core/ir/constant.cc | 1 + .../tint/lang/core/ir/core_builtin_call.cc | 2 + .../src/tint/lang/core/ir/disassembler.cc | 3 + .../dawn/src/tint/lang/core/ir/evaluator.cc | 1 + .../dawn/src/tint/lang/core/ir/function.cc | 2 + .../dawn/src/tint/lang/core/ir/function.h | 2 - 3rdparty/dawn/src/tint/lang/core/ir/if.h | 5 - 3rdparty/dawn/src/tint/lang/core/ir/module.cc | 28 +- .../dawn/src/tint/lang/core/ir/reflection.h | 16 +- 3rdparty/dawn/src/tint/lang/core/ir/switch.h | 1 - .../dawn/src/tint/lang/core/ir/terminator.h | 5 - .../transform/array_length_from_immediate.cc | 4 +- .../ir/transform/array_length_from_uniform.cc | 6 +- .../ir/transform/array_length_from_uniform.h | 2 +- .../core/ir/transform/bgra8unorm_polyfill.cc | 192 +- .../lang/core/ir/transform/binary_polyfill.cc | 2 +- .../core/ir/transform/binding_remapper.cc | 2 +- .../ir/transform/block_decorated_structs.cc | 4 +- .../core/ir/transform/builtin_polyfill.cc | 23 +- .../core/ir/transform/builtin_scalarize.cc | 3 +- .../transform/change_immediate_to_uniform.cc | 19 +- .../transform/combine_access_instructions.cc | 13 +- .../core/ir/transform/conversion_polyfill.cc | 3 +- .../ir/transform/dead_code_elimination.cc | 2 +- .../core/ir/transform/decompose_access.cc | 1350 + .../lang/core/ir/transform/decompose_access.h | 66 + .../ir/transform/decompose_uniform_access.cc | 624 - .../core/ir/transform/demote_to_helper.cc | 2 +- .../ir/transform/direct_variable_access.cc | 4 +- .../transform/multiplanar_external_texture.cc | 8 +- .../ir/transform/prepare_immediate_data.cc | 13 +- .../core/ir/transform/preserve_padding.cc | 2 +- .../ir/transform/prevent_infinite_loops.cc | 10 +- .../ir/transform/remove_continue_in_switch.cc | 17 +- .../ir/transform/remove_terminator_args.cc | 4 +- .../remove_uniform_vector_component_loads.cc | 13 +- .../core/ir/transform/rename_conflicts.cc | 3 +- .../lang/core/ir/transform/resource_table.cc | 29 +- .../ir/transform/resource_table_helper.cc | 7 +- .../tint/lang/core/ir/transform/robustness.cc | 2 +- .../tint/lang/core/ir/transform/robustness.h | 2 +- .../tint/lang/core/ir/transform/shader_io.cc | 60 + .../tint/lang/core/ir/transform/shader_io.h | 28 + .../ir/transform/signed_integer_polyfill.cc | 31 +- .../core/ir/transform/single_entry_point.cc | 2 +- .../src/tint/lang/core/ir/transform/std140.cc | 2 +- .../core/ir/transform/substitute_overrides.cc | 37 +- .../lang/core/ir/transform/value_to_let.cc | 2 +- .../vectorize_scalar_matrix_constructors.cc | 4 +- .../lang/core/ir/transform/vertex_pulling.cc | 97 +- .../transform/zero_init_workgroup_memory.cc | 4 +- .../dawn/src/tint/lang/core/ir/validator.cc | 245 +- .../dawn/src/tint/lang/core/ir/validator.h | 69 +- 3rdparty/dawn/src/tint/lang/core/number.h | 5 + 3rdparty/dawn/src/tint/lang/core/type/array.h | 1 + .../src/tint/lang/core/type/array_count.h | 2 +- .../src/tint/lang/core/type/binding_array.h | 1 + .../dawn/src/tint/lang/core/type/manager.cc | 11 + .../dawn/src/tint/lang/core/type/manager.h | 20 + .../{spirv => core}/type/resource_table.cc | 10 +- .../{spirv => core}/type/resource_table.h | 10 +- .../src/tint/lang/core/type/resource_type.cc | 169 +- .../src/tint/lang/core/type/resource_type.h | 5 + .../tint/lang/core/type/sampled_texture.cc | 20 +- .../src/tint/lang/core/type/sampled_texture.h | 10 +- .../dawn/src/tint/lang/core/type/sampler.cc | 18 +- .../dawn/src/tint/lang/core/type/sampler.h | 8 +- .../src/tint/lang/core/type/storage_texture.h | 5 - .../src/tint/lang/core/type/swizzle_view.cc | 79 + .../src/tint/lang/core/type/swizzle_view.h | 80 + .../src/tint/lang/core/type/texel_buffer.h | 5 - 3rdparty/dawn/src/tint/lang/core/type/type.cc | 7 +- 3rdparty/dawn/src/tint/lang/core/type/type.h | 4 - 3rdparty/dawn/src/tint/lang/core/type/u16.cc | 63 + 3rdparty/dawn/src/tint/lang/core/type/u16.h | 63 + .../src/tint/lang/spirv/intrinsic/data.cc | 11684 +++++---- .../tint/lang/spirv/reader/common/options.h | 6 - .../tint/lang/spirv/reader/lower/atomics.cc | 15 +- .../tint/lang/spirv/reader/lower/builtins.cc | 17 +- .../reader/lower/decompose_strided_array.cc | 16 +- .../reader/lower/decompose_strided_matrix.cc | 17 +- .../src/tint/lang/spirv/reader/lower/lower.cc | 12 +- .../tint/lang/spirv/reader/lower/shader_io.cc | 23 +- .../tint/lang/spirv/reader/lower/texture.cc | 153 +- .../spirv/reader/lower/transpose_row_major.cc | 17 +- .../reader/lower/vector_element_pointer.cc | 25 +- .../dawn/src/tint/lang/spirv/reader/reader.cc | 6 +- .../analysis/relaxed_precision_decorations.cc | 305 + .../analysis/relaxed_precision_decorations.h | 51 + .../lang/spirv/writer/common/option_helper.cc | 3 +- .../tint/lang/spirv/writer/common/options.h | 13 +- .../tint/lang/spirv/writer/common/output.h | 17 +- .../tint/lang/spirv/writer/printer/printer.cc | 45 +- .../spirv/writer/raise/builtin_polyfill.cc | 34 +- .../spirv/writer/raise/builtin_polyfill.h | 1 - .../writer/raise/case_switch_to_if_else.cc | 4 +- .../writer/raise/expand_implicit_splats.cc | 4 +- .../raise/fork_explicit_layout_types.cc | 4 +- .../writer/raise/handle_matrix_arithmetic.cc | 4 +- .../raise/keep_binding_array_as_pointer.cc | 4 +- .../lang/spirv/writer/raise/merge_return.cc | 3 +- .../writer/raise/pass_matrix_by_pointer.cc | 2 +- .../src/tint/lang/spirv/writer/raise/raise.cc | 22 +- .../remove_unreachable_in_loop_continuing.cc | 5 +- ...urce_table.cc => resource_table_helper.cc} | 6 +- ...source_table.h => resource_table_helper.h} | 6 +- .../tint/lang/spirv/writer/raise/shader_io.cc | 69 +- .../tint/lang/spirv/writer/raise/shader_io.h | 5 + .../lang/spirv/writer/raise/unary_polyfill.cc | 2 +- .../writer/raise/var_for_dynamic_index.cc | 4 +- .../dawn/src/tint/lang/spirv/writer/writer.cc | 12 +- .../dawn/src/tint/lang/wgsl/ast/builder.cc | 608 +- .../dawn/src/tint/lang/wgsl/ast/builder.h | 879 +- .../dawn/src/tint/lang/wgsl/ast/function.h | 1 - 3rdparty/dawn/src/tint/lang/wgsl/ast/node.h | 5 - .../wgsl/ast/struct_member_align_attribute.h | 1 + .../wgsl/ast/struct_member_size_attribute.h | 1 + .../tint/lang/wgsl/ast/templated_identifier.h | 1 - .../dawn/src/tint/lang/wgsl/ast/type_traits.h | 104 + .../dawn/src/tint/lang/wgsl/ast/variable.cc | 1 + .../dawn/src/tint/lang/wgsl/ast/variable.h | 1 - 3rdparty/dawn/src/tint/lang/wgsl/enums.cc | 55 +- 3rdparty/dawn/src/tint/lang/wgsl/enums.h | 37 +- .../dawn/src/tint/lang/wgsl/feature_status.cc | 5 +- .../tint/lang/wgsl/inspector/entry_point.h | 2 - .../src/tint/lang/wgsl/inspector/inspector.cc | 32 +- .../src/tint/lang/wgsl/inspector/inspector.h | 5 - .../lang/wgsl/inspector/resource_binding.cc | 59 +- .../lang/wgsl/inspector/resource_binding.h | 35 +- .../dawn/src/tint/lang/wgsl/intrinsic/data.cc | 20753 ++++++++++------ .../lang/wgsl/ir/atomic_vec2u_to_from_u64.cc | 266 + .../lang/wgsl/ir/atomic_vec2u_to_from_u64.h | 53 + .../dawn/src/tint/lang/wgsl/program/program.h | 3 + .../tint/lang/wgsl/program/program_builder.h | 1 - .../lang/wgsl/resolver/dependency_graph.cc | 24 +- .../lang/wgsl/resolver/dependency_graph.h | 22 +- .../src/tint/lang/wgsl/resolver/resolver.cc | 330 +- .../src/tint/lang/wgsl/resolver/resolver.h | 28 +- .../src/tint/lang/wgsl/resolver/sem_helper.cc | 6 + .../src/tint/lang/wgsl/resolver/sem_helper.h | 58 + .../src/tint/lang/wgsl/resolver/uniformity.cc | 2 + .../src/tint/lang/wgsl/resolver/validator.cc | 185 +- .../src/tint/lang/wgsl/resolver/validator.h | 26 +- .../src/tint/lang/wgsl/sem/block_statement.h | 1 - .../lang/wgsl/sem/builtin_enum_expression.cc | 2 + .../lang/wgsl/sem/builtin_enum_expression.h | 5 - .../dawn/src/tint/lang/wgsl/sem/function.h | 4 - .../tint/lang/wgsl/sem/function_expression.cc | 1 + 3rdparty/dawn/src/tint/lang/wgsl/sem/info.h | 4 - 3rdparty/dawn/src/tint/lang/wgsl/sem/load.cc | 14 + 3rdparty/dawn/src/tint/lang/wgsl/sem/load.h | 10 + .../wgsl/sem/member_accessor_expression.cc | 3 +- .../dawn/src/tint/lang/wgsl/sem/statement.cc | 1 + .../src/tint/lang/wgsl/sem/switch_statement.h | 1 - .../dawn/src/tint/lang/wgsl/sem/variable.h | 3 +- .../wgsl/writer/ast_printer/ast_printer.h | 4 - .../tint/lang/wgsl/writer/common/options.h | 2 + .../writer/ir_to_program/ir_to_program.cc | 21 +- .../tint/lang/wgsl/writer/raise/ptr_to_ref.cc | 18 +- .../src/tint/lang/wgsl/writer/raise/raise.cc | 6 + .../lang/wgsl/writer/raise/value_to_let.cc | 15 +- .../dawn/src/tint/lang/wgsl/writer/writer.cc | 1 + 3rdparty/dawn/src/tint/utils/bytes/swap.h | 2 - .../dawn/src/tint/utils/containers/hashset.h | 1 + .../dawn/src/tint/utils/containers/slice.h | 2 +- .../dawn/src/tint/utils/containers/vector.h | 1 + .../src/tint/utils/diagnostic/formatter.h | 1 - 3rdparty/dawn/src/tint/utils/ice/debugger.cc | 1 + 3rdparty/dawn/src/tint/utils/math/crc32.h | 1 + 3rdparty/dawn/src/tint/utils/math/hash.h | 1 - 3rdparty/dawn/src/tint/utils/math/math.h | 2 +- 3rdparty/dawn/src/tint/utils/result.h | 2 +- 3rdparty/dawn/src/tint/utils/rtti/castable.h | 4 +- 3rdparty/dawn/src/tint/utils/rtti/switch.cc | 1 + .../templates/intrinsic_table_data.tmpl.inc | 3 + 3rdparty/dawn/src/tint/utils/text/base64.cc | 4 +- 3rdparty/dawn/src/tint/utils/text/string.cc | 3 +- .../dawn/src/tint/utils/text/styled_text.cc | 2 + .../dawn/src/tint/utils/text/styled_text.h | 5 - .../tint/utils/text/styled_text_printer.cc | 3 +- .../src/tint/utils/text/styled_text_printer.h | 5 - .../src/tint/utils/text/styled_text_theme.cc | 1 + .../src/tint/utils/text/styled_text_theme.h | 1 + .../dawn/src/tint/utils/text/text_style.h | 44 +- src/renderer_webgpu.cpp | 2 +- 205 files changed, 39298 insertions(+), 20377 deletions(-) rename 3rdparty/dawn/src/tint/{lang/core/ir/transform/decompose_uniform_access.h => api/common/workgroup_info.h} (67%) create mode 100644 3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.cc create mode 100644 3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.h delete mode 100644 3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_uniform_access.cc rename 3rdparty/dawn/src/tint/lang/{spirv => core}/type/resource_table.cc (91%) rename 3rdparty/dawn/src/tint/lang/{spirv => core}/type/resource_table.h (92%) create mode 100644 3rdparty/dawn/src/tint/lang/core/type/swizzle_view.cc create mode 100644 3rdparty/dawn/src/tint/lang/core/type/swizzle_view.h create mode 100644 3rdparty/dawn/src/tint/lang/core/type/u16.cc create mode 100644 3rdparty/dawn/src/tint/lang/core/type/u16.h create mode 100644 3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.cc create mode 100644 3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.h rename 3rdparty/dawn/src/tint/lang/spirv/writer/raise/{resource_table.cc => resource_table_helper.cc} (92%) rename 3rdparty/dawn/src/tint/lang/spirv/writer/raise/{resource_table.h => resource_table_helper.h} (91%) create mode 100644 3rdparty/dawn/src/tint/lang/wgsl/ast/type_traits.h create mode 100644 3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.cc create mode 100644 3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.h diff --git a/3rdparty/dawn/include/tint/tint.h b/3rdparty/dawn/include/tint/tint.h index 61fad6373..3fa925dff 100644 --- a/3rdparty/dawn/include/tint/tint.h +++ b/3rdparty/dawn/include/tint/tint.h @@ -34,14 +34,19 @@ // TODO(tint:88): When implementing support for an install target, all of these // headers will need to be moved to include/tint/. -#include "src/tint/api/common/subgroup_matrix.h" -#include "src/tint/api/common/substitute_overrides_config.h" -#include "src/tint/api/common/vertex_pulling_config.h" -#include "src/tint/api/tint.h" -#include "src/tint/lang/core/type/manager.h" -#include "src/tint/lang/wgsl/inspector/inspector.h" -#include "src/tint/utils/diagnostic/formatter.h" -#include "src/tint/utils/text/styled_text.h" +#include "src/tint/api/common/binding_point.h" // IWYU pragma: export +#include "src/tint/api/common/resource_type.h" // IWYU pragma: export +#include "src/tint/api/common/subgroup_matrix.h" // IWYU pragma: export +#include "src/tint/api/common/substitute_overrides_config.h" // IWYU pragma: export +#include "src/tint/api/common/vertex_pulling_config.h" // IWYU pragma: export +#include "src/tint/api/common/workgroup_info.h" // IWYU pragma: export +#include "src/tint/api/tint.h" // IWYU pragma: export +#include "src/tint/lang/core/type/manager.h" // IWYU pragma: export +#include "src/tint/lang/wgsl/enums.h" // IWYU pragma: export +#include "src/tint/lang/wgsl/feature_status.h" // IWYU pragma: export +#include "src/tint/lang/wgsl/inspector/inspector.h" // IWYU pragma: export +#include "src/tint/utils/diagnostic/formatter.h" // IWYU pragma: export +#include "src/tint/utils/text/styled_text.h" // IWYU pragma: export /////////////// // NOTE if adding a new guard include here, it must also appear in src/tint/api/tint.cc for the diff --git a/3rdparty/dawn/include/webgpu/webgpu.h b/3rdparty/dawn/include/webgpu/webgpu.h index 088297f4a..dddbd3ac0 100644 --- a/3rdparty/dawn/include/webgpu/webgpu.h +++ b/3rdparty/dawn/include/webgpu/webgpu.h @@ -124,6 +124,7 @@ typedef struct WGPUBindGroupImpl* WGPUBindGroup WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUBindGroupLayoutImpl* WGPUBindGroupLayout WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUBufferImpl* WGPUBuffer WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUCommandBufferImpl* WGPUCommandBuffer WGPU_OBJECT_ATTRIBUTE; +typedef struct WGPUCommandEncoderImpl* WGPUCommandEncoder WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUComputePipelineImpl* WGPUComputePipeline WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUDeviceImpl* WGPUDevice WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUExternalTextureImpl* WGPUExternalTexture WGPU_OBJECT_ATTRIBUTE; @@ -143,13 +144,13 @@ typedef struct WGPUSurfaceImpl* WGPUSurface WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUTexelBufferViewImpl* WGPUTexelBufferView WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUTextureImpl* WGPUTexture WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUTextureViewImpl* WGPUTextureView WGPU_OBJECT_ATTRIBUTE; -typedef struct WGPUCommandEncoderImpl* WGPUCommandEncoder WGPU_OBJECT_ATTRIBUTE; typedef struct WGPUComputePassEncoderImpl* WGPUComputePassEncoder WGPU_OBJECT_ATTRIBUTE; typedef struct WGPURenderBundleEncoderImpl* WGPURenderBundleEncoder WGPU_OBJECT_ATTRIBUTE; typedef struct WGPURenderPassEncoderImpl* WGPURenderPassEncoder WGPU_OBJECT_ATTRIBUTE; // Structure forward declarations struct WGPUAdapterPropertiesD3D; +struct WGPUAdapterPropertiesExplicitComputeSubgroupSizeConfigs; struct WGPUAdapterPropertiesVk; struct WGPUAdapterPropertiesWGPU; struct WGPUBindingResource; @@ -174,7 +175,7 @@ struct WGPUDawnFakeBufferOOMForTesting; struct WGPUDawnFakeDeviceInitializeErrorForTesting; struct WGPUDawnHostMappedPointerLimits; struct WGPUDawnInjectedInvalidSType; -struct WGPUDawnRenderPassColorAttachmentRenderToSingleSampled; +struct WGPUDawnRenderPassSampleCount; struct WGPUDawnShaderModuleSPIRVOptionsDescriptor; struct WGPUDawnTexelCopyBufferRowAlignmentLimits; struct WGPUDawnTextureInternalUsageDescriptor; @@ -208,7 +209,6 @@ struct WGPURenderPassMaxDrawCount; struct WGPURequestAdapterWebGPUBackendOptions; struct WGPURequestAdapterWebXROptions; struct WGPUResourceTableDescriptor; -struct WGPUResourceTableLimits; struct WGPUSamplerBindingLayout; struct WGPUShaderModuleCompilationOptions; struct WGPUShaderSourceSPIRV; @@ -612,6 +612,8 @@ typedef enum WGPUFeatureName { WGPUFeatureName_SharedTextureMemoryD3D12Resource = 0x00050039, WGPUFeatureName_ChromiumExperimentalSamplingResourceTable = 0x0005003A, WGPUFeatureName_ChromiumExperimentalSubgroupSizeControl = 0x0005003B, + WGPUFeatureName_AtomicVec2uMinMax = 0x0005003C, + WGPUFeatureName_Unorm16FormatsForExternalTexture = 0x0005003D, WGPUFeatureName_Force32 = 0x7FFFFFFF } WGPUFeatureName WGPU_ENUM_ATTRIBUTE; @@ -833,7 +835,7 @@ typedef enum WGPUSType { WGPUSType_RequestAdapterOptionsLUID = 0x0005000C, WGPUSType_RequestAdapterOptionsGetGLProc = 0x0005000D, WGPUSType_RequestAdapterOptionsD3D11Device = 0x0005000E, - WGPUSType_DawnRenderPassColorAttachmentRenderToSingleSampled = 0x0005000F, + WGPUSType_DawnRenderPassSampleCount = 0x0005000F, WGPUSType_RenderPassPixelLocalStorage = 0x00050010, WGPUSType_PipelineLayoutPixelLocalStorage = 0x00050011, WGPUSType_BufferHostMappedPointer = 0x00050012, @@ -897,8 +899,8 @@ typedef enum WGPUSType { WGPUSType_SharedBufferMemoryD3D12SharedMemoryFileMappingHandleDescriptor = 0x0005004D, WGPUSType_SharedTextureMemoryD3D12ResourceDescriptor = 0x0005004E, WGPUSType_RequestAdapterOptionsAngleVirtualizationGroup = 0x0005004F, - WGPUSType_ResourceTableLimits = 0x00050050, - WGPUSType_PipelineLayoutResourceTable = 0x00050051, + WGPUSType_PipelineLayoutResourceTable = 0x00050050, + WGPUSType_AdapterPropertiesExplicitComputeSubgroupSizeConfigs = 0x00050051, WGPUSType_Force32 = 0x7FFFFFFF } WGPUSType WGPU_ENUM_ATTRIBUTE; @@ -1051,14 +1053,15 @@ typedef enum WGPUTextureFormat { WGPUTextureFormat_ASTC12x10UnormSrgb = 0x00000063, WGPUTextureFormat_ASTC12x12Unorm = 0x00000064, WGPUTextureFormat_ASTC12x12UnormSrgb = 0x00000065, - WGPUTextureFormat_R8BG8Biplanar420Unorm = 0x00050006, - WGPUTextureFormat_R10X6BG10X6Biplanar420Unorm = 0x00050007, - WGPUTextureFormat_R8BG8A8Triplanar420Unorm = 0x00050008, - WGPUTextureFormat_R8BG8Biplanar422Unorm = 0x00050009, - WGPUTextureFormat_R8BG8Biplanar444Unorm = 0x0005000A, - WGPUTextureFormat_R10X6BG10X6Biplanar422Unorm = 0x0005000B, - WGPUTextureFormat_R10X6BG10X6Biplanar444Unorm = 0x0005000C, - WGPUTextureFormat_External = 0x0005000D, + WGPUTextureFormat_R8BG8Biplanar420Unorm = 0x00050000, + WGPUTextureFormat_R10X6BG10X6Biplanar420Unorm = 0x00050001, + WGPUTextureFormat_R8BG8A8Triplanar420Unorm = 0x00050002, + WGPUTextureFormat_R8BG8Biplanar422Unorm = 0x00050003, + WGPUTextureFormat_R8BG8Biplanar444Unorm = 0x00050004, + WGPUTextureFormat_R10X6BG10X6Biplanar422Unorm = 0x00050005, + WGPUTextureFormat_R10X6BG10X6Biplanar444Unorm = 0x00050006, + WGPUTextureFormat_External = 0x00050007, + WGPUTextureFormat_OpaqueYCbCrAndroid = 0x00050007, WGPUTextureFormat_Force32 = 0x7FFFFFFF } WGPUTextureFormat WGPU_ENUM_ATTRIBUTE; @@ -1156,19 +1159,22 @@ typedef enum WGPUWGSLLanguageFeatureName { WGPUWGSLLanguageFeatureName_PointerCompositeAccess = 0x00000004, WGPUWGSLLanguageFeatureName_UniformBufferStandardLayout = 0x00000005, WGPUWGSLLanguageFeatureName_SubgroupId = 0x00000006, - WGPUWGSLLanguageFeatureName_SizedBindingArray = 0x00050007, - WGPUWGSLLanguageFeatureName_TexelBuffers = 0x00050008, - WGPUWGSLLanguageFeatureName_ChromiumPrint = 0x00050009, - WGPUWGSLLanguageFeatureName_FragmentDepth = 0x0005000A, - WGPUWGSLLanguageFeatureName_ImmediateAddressSpace = 0x0005000B, - WGPUWGSLLanguageFeatureName_SubgroupUniformity = 0x0005000C, - WGPUWGSLLanguageFeatureName_TextureAndSamplerLet = 0x0005000D, - WGPUWGSLLanguageFeatureName_BufferView = 0x0005000E, + WGPUWGSLLanguageFeatureName_TextureAndSamplerLet = 0x00000007, WGPUWGSLLanguageFeatureName_ChromiumTestingUnimplemented = 0x00050000, WGPUWGSLLanguageFeatureName_ChromiumTestingUnsafeExperimental = 0x00050001, WGPUWGSLLanguageFeatureName_ChromiumTestingExperimental = 0x00050002, WGPUWGSLLanguageFeatureName_ChromiumTestingShippedWithKillswitch = 0x00050003, WGPUWGSLLanguageFeatureName_ChromiumTestingShipped = 0x00050004, + WGPUWGSLLanguageFeatureName_SizedBindingArray = 0x00050005, + WGPUWGSLLanguageFeatureName_TexelBuffers = 0x00050006, + WGPUWGSLLanguageFeatureName_ChromiumPrint = 0x00050007, + WGPUWGSLLanguageFeatureName_FragmentDepth = 0x00050008, + WGPUWGSLLanguageFeatureName_ImmediateAddressSpace = 0x00050009, + WGPUWGSLLanguageFeatureName_SubgroupUniformity = 0x0005000A, + WGPUWGSLLanguageFeatureName_BufferView = 0x0005000B, + WGPUWGSLLanguageFeatureName_FilteringParameters = 0x0005000C, + WGPUWGSLLanguageFeatureName_SwizzleAssignment = 0x0005000D, + WGPUWGSLLanguageFeatureName_LinearIndexing = 0x0005000E, WGPUWGSLLanguageFeatureName_Force32 = 0x7FFFFFFF } WGPUWGSLLanguageFeatureName WGPU_ENUM_ATTRIBUTE; @@ -1442,6 +1448,24 @@ typedef struct WGPUAdapterPropertiesD3D { /*.shaderModel=*/0 _wgpu_COMMA \ }) +// Can be chained in WGPUAdapterInfo +typedef struct WGPUAdapterPropertiesExplicitComputeSubgroupSizeConfigs { + WGPUChainedStruct chain; + uint32_t minExplicitComputeSubgroupSize; + uint32_t maxExplicitComputeSubgroupSize; + uint32_t maxComputeWorkgroupSubgroups; +} WGPUAdapterPropertiesExplicitComputeSubgroupSizeConfigs WGPU_STRUCTURE_ATTRIBUTE; + +#define WGPU_ADAPTER_PROPERTIES_EXPLICIT_COMPUTE_SUBGROUP_SIZE_CONFIGS_INIT _wgpu_MAKE_INIT_STRUCT(WGPUAdapterPropertiesExplicitComputeSubgroupSizeConfigs, { \ + /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \ + /*.next=*/NULL _wgpu_COMMA \ + /*.sType=*/WGPUSType_AdapterPropertiesExplicitComputeSubgroupSizeConfigs _wgpu_COMMA \ + }) _wgpu_COMMA \ + /*.minExplicitComputeSubgroupSize=*/0 _wgpu_COMMA \ + /*.maxExplicitComputeSubgroupSize=*/0 _wgpu_COMMA \ + /*.maxComputeWorkgroupSubgroups=*/0 _wgpu_COMMA \ +}) + // Can be chained in WGPUAdapterInfo typedef struct WGPUAdapterPropertiesVk { WGPUChainedStruct chain; @@ -1801,18 +1825,18 @@ typedef struct WGPUDawnInjectedInvalidSType { /*.invalidSType=*/_wgpu_ENUM_ZERO_INIT(WGPUSType) _wgpu_COMMA \ }) -// Can be chained in WGPURenderPassColorAttachment -typedef struct WGPUDawnRenderPassColorAttachmentRenderToSingleSampled { +// Can be chained in WGPURenderPassDescriptor +typedef struct WGPUDawnRenderPassSampleCount { WGPUChainedStruct chain; - uint32_t implicitSampleCount; -} WGPUDawnRenderPassColorAttachmentRenderToSingleSampled WGPU_STRUCTURE_ATTRIBUTE; + uint32_t sampleCount; +} WGPUDawnRenderPassSampleCount WGPU_STRUCTURE_ATTRIBUTE; -#define WGPU_DAWN_RENDER_PASS_COLOR_ATTACHMENT_RENDER_TO_SINGLE_SAMPLED_INIT _wgpu_MAKE_INIT_STRUCT(WGPUDawnRenderPassColorAttachmentRenderToSingleSampled, { \ +#define WGPU_DAWN_RENDER_PASS_SAMPLE_COUNT_INIT _wgpu_MAKE_INIT_STRUCT(WGPUDawnRenderPassSampleCount, { \ /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \ /*.next=*/NULL _wgpu_COMMA \ - /*.sType=*/WGPUSType_DawnRenderPassColorAttachmentRenderToSingleSampled _wgpu_COMMA \ + /*.sType=*/WGPUSType_DawnRenderPassSampleCount _wgpu_COMMA \ }) _wgpu_COMMA \ - /*.implicitSampleCount=*/1 _wgpu_COMMA \ + /*.sampleCount=*/1 _wgpu_COMMA \ }) // Can be chained in WGPUShaderModuleDescriptor @@ -2283,20 +2307,6 @@ typedef struct WGPUResourceTableDescriptor { /*.size=*/0 _wgpu_COMMA \ }) -// Can be chained in WGPULimits -typedef struct WGPUResourceTableLimits { - WGPUChainedStruct chain; - uint32_t maxResourceTableSize; -} WGPUResourceTableLimits WGPU_STRUCTURE_ATTRIBUTE; - -#define WGPU_RESOURCE_TABLE_LIMITS_INIT _wgpu_MAKE_INIT_STRUCT(WGPUResourceTableLimits, { \ - /*.chain=*/_wgpu_MAKE_INIT_STRUCT(WGPUChainedStruct, { \ - /*.next=*/NULL _wgpu_COMMA \ - /*.sType=*/WGPUSType_ResourceTableLimits _wgpu_COMMA \ - }) _wgpu_COMMA \ - /*.maxResourceTableSize=*/WGPU_LIMIT_U32_UNDEFINED _wgpu_COMMA \ -}) - typedef struct WGPUSamplerBindingLayout { WGPUChainedStruct * nextInChain; WGPUSamplerBindingType type; @@ -4249,7 +4259,6 @@ typedef void (*WGPUProcCommandEncoderPopDebugGroup)(WGPUCommandEncoder commandEn typedef void (*WGPUProcCommandEncoderPushDebugGroup)(WGPUCommandEncoder commandEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcCommandEncoderResolveQuerySet)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcCommandEncoderSetLabel)(WGPUCommandEncoder commandEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; -typedef void (*WGPUProcCommandEncoderSetResourceTable)(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcCommandEncoderWriteBuffer)(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcCommandEncoderWriteTimestamp)(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcCommandEncoderAddRef)(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; @@ -4266,6 +4275,7 @@ typedef void (*WGPUProcComputePassEncoderSetBindGroup)(WGPUComputePassEncoder co typedef void (*WGPUProcComputePassEncoderSetImmediates)(WGPUComputePassEncoder computePassEncoder, uint32_t offset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcComputePassEncoderSetLabel)(WGPUComputePassEncoder computePassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcComputePassEncoderSetPipeline)(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcComputePassEncoderSetResourceTable)(WGPUComputePassEncoder computePassEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcComputePassEncoderWriteTimestamp)(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcComputePassEncoderAddRef)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcComputePassEncoderRelease)(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; @@ -4384,6 +4394,7 @@ typedef void (*WGPUProcRenderBundleEncoderSetImmediates)(WGPURenderBundleEncoder typedef void (*WGPUProcRenderBundleEncoderSetIndexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderBundleEncoderSetLabel)(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderBundleEncoderSetPipeline)(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderBundleEncoderSetResourceTable)(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderBundleEncoderSetVertexBuffer)(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderBundleEncoderAddRef)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderBundleEncoderRelease)(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; @@ -4409,6 +4420,7 @@ typedef void (*WGPUProcRenderPassEncoderSetImmediates)(WGPURenderPassEncoder ren typedef void (*WGPUProcRenderPassEncoderSetIndexBuffer)(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderPassEncoderSetLabel)(WGPURenderPassEncoder renderPassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderPassEncoderSetPipeline)(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +typedef void (*WGPUProcRenderPassEncoderSetResourceTable)(WGPURenderPassEncoder renderPassEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderPassEncoderSetScissorRect)(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderPassEncoderSetStencilReference)(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE; typedef void (*WGPUProcRenderPassEncoderSetVertexBuffer)(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; @@ -4602,7 +4614,6 @@ WGPU_EXPORT void wgpuCommandEncoderPopDebugGroup(WGPUCommandEncoder commandEncod WGPU_EXPORT void wgpuCommandEncoderPushDebugGroup(WGPUCommandEncoder commandEncoder, WGPUStringView groupLabel) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuCommandEncoderResolveQuerySet(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t firstQuery, uint32_t queryCount, WGPUBuffer destination, uint64_t destinationOffset) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuCommandEncoderSetLabel(WGPUCommandEncoder commandEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; -WGPU_EXPORT void wgpuCommandEncoderSetResourceTable(WGPUCommandEncoder commandEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuCommandEncoderWriteBuffer(WGPUCommandEncoder commandEncoder, WGPUBuffer buffer, uint64_t bufferOffset, uint8_t const * data, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuCommandEncoderWriteTimestamp(WGPUCommandEncoder commandEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuCommandEncoderAddRef(WGPUCommandEncoder commandEncoder) WGPU_FUNCTION_ATTRIBUTE; @@ -4619,6 +4630,7 @@ WGPU_EXPORT void wgpuComputePassEncoderSetBindGroup(WGPUComputePassEncoder compu WGPU_EXPORT void wgpuComputePassEncoderSetImmediates(WGPUComputePassEncoder computePassEncoder, uint32_t offset, void const * data, size_t size) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuComputePassEncoderSetLabel(WGPUComputePassEncoder computePassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuComputePassEncoderSetPipeline(WGPUComputePassEncoder computePassEncoder, WGPUComputePipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuComputePassEncoderSetResourceTable(WGPUComputePassEncoder computePassEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuComputePassEncoderWriteTimestamp(WGPUComputePassEncoder computePassEncoder, WGPUQuerySet querySet, uint32_t queryIndex) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuComputePassEncoderAddRef(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuComputePassEncoderRelease(WGPUComputePassEncoder computePassEncoder) WGPU_FUNCTION_ATTRIBUTE; @@ -4737,6 +4749,7 @@ WGPU_EXPORT void wgpuRenderBundleEncoderSetImmediates(WGPURenderBundleEncoder re WGPU_EXPORT void wgpuRenderBundleEncoderSetIndexBuffer(WGPURenderBundleEncoder renderBundleEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderBundleEncoderSetLabel(WGPURenderBundleEncoder renderBundleEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderBundleEncoderSetPipeline(WGPURenderBundleEncoder renderBundleEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderBundleEncoderSetResourceTable(WGPURenderBundleEncoder renderBundleEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderBundleEncoderSetVertexBuffer(WGPURenderBundleEncoder renderBundleEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderBundleEncoderAddRef(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderBundleEncoderRelease(WGPURenderBundleEncoder renderBundleEncoder) WGPU_FUNCTION_ATTRIBUTE; @@ -4762,6 +4775,7 @@ WGPU_EXPORT void wgpuRenderPassEncoderSetImmediates(WGPURenderPassEncoder render WGPU_EXPORT void wgpuRenderPassEncoderSetIndexBuffer(WGPURenderPassEncoder renderPassEncoder, WGPUBuffer buffer, WGPUIndexFormat format, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderPassEncoderSetLabel(WGPURenderPassEncoder renderPassEncoder, WGPUStringView label) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderPassEncoderSetPipeline(WGPURenderPassEncoder renderPassEncoder, WGPURenderPipeline pipeline) WGPU_FUNCTION_ATTRIBUTE; +WGPU_EXPORT void wgpuRenderPassEncoderSetResourceTable(WGPURenderPassEncoder renderPassEncoder, WGPU_NULLABLE WGPUResourceTable table) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderPassEncoderSetScissorRect(WGPURenderPassEncoder renderPassEncoder, uint32_t x, uint32_t y, uint32_t width, uint32_t height) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderPassEncoderSetStencilReference(WGPURenderPassEncoder renderPassEncoder, uint32_t reference) WGPU_FUNCTION_ATTRIBUTE; WGPU_EXPORT void wgpuRenderPassEncoderSetVertexBuffer(WGPURenderPassEncoder renderPassEncoder, uint32_t slot, WGPU_NULLABLE WGPUBuffer buffer, uint64_t offset, uint64_t size) WGPU_FUNCTION_ATTRIBUTE; diff --git a/3rdparty/dawn/src/tint/api/common/override_id.h b/3rdparty/dawn/src/tint/api/common/override_id.h index 0a39b376c..3f97a99c5 100644 --- a/3rdparty/dawn/src/tint/api/common/override_id.h +++ b/3rdparty/dawn/src/tint/api/common/override_id.h @@ -29,6 +29,7 @@ #define SRC_TINT_API_COMMON_OVERRIDE_ID_H_ #include + #include #include "src/tint/utils/math/hash.h" diff --git a/3rdparty/dawn/src/tint/api/common/resource_table_config.h b/3rdparty/dawn/src/tint/api/common/resource_table_config.h index 28eab08ae..e47ae4951 100644 --- a/3rdparty/dawn/src/tint/api/common/resource_table_config.h +++ b/3rdparty/dawn/src/tint/api/common/resource_table_config.h @@ -58,6 +58,7 @@ struct ResourceTableConfig { BindingPoint resource_table_binding; // The binding point for the supporting storage buffer. This is a post-remapping binding point. + // TODO(crbug.com/435317394): Rename to metadata_buffer_binding BindingPoint storage_buffer_binding; // The ordering of default bindings which are placed after the user bindings. These will be used @@ -91,6 +92,7 @@ struct ResourceTableConfig { resource_table_binding, storage_buffer_binding, default_binding_type_order); + TINT_REFLECT_EQUALS(ResourceTableConfig); }; } // namespace tint diff --git a/3rdparty/dawn/src/tint/api/common/resource_type.h b/3rdparty/dawn/src/tint/api/common/resource_type.h index 0d23267fc..9527d11d2 100644 --- a/3rdparty/dawn/src/tint/api/common/resource_type.h +++ b/3rdparty/dawn/src/tint/api/common/resource_type.h @@ -35,22 +35,28 @@ namespace tint { enum class ResourceType : uint32_t { kEmpty, - kTexture1d_f32, + kTexture1d_f32_filterable, + kTexture1d_f32_unfilterable, kTexture1d_i32, kTexture1d_u32, - kTexture2d_f32, + kTexture2d_f32_filterable, + kTexture2d_f32_unfilterable, kTexture2d_i32, kTexture2d_u32, - kTexture2dArray_f32, + kTexture2dArray_f32_filterable, + kTexture2dArray_f32_unfilterable, kTexture2dArray_i32, kTexture2dArray_u32, - kTexture3d_f32, + kTexture3d_f32_filterable, + kTexture3d_f32_unfilterable, kTexture3d_i32, kTexture3d_u32, - kTextureCube_f32, + kTextureCube_f32_filterable, + kTextureCube_f32_unfilterable, kTextureCube_i32, kTextureCube_u32, - kTextureCubeArray_f32, + kTextureCubeArray_f32_filterable, + kTextureCubeArray_f32_unfilterable, kTextureCubeArray_i32, kTextureCubeArray_u32, @@ -63,6 +69,10 @@ enum class ResourceType : uint32_t { kTextureDepthCube, kTextureDepthCubeArray, kTextureDepthMultisampled2d, + + kSampler_filtering, + kSampler_non_filtering, + kSampler_comparison, }; TINT_REFLECT_ENUM_RANGE(tint::ResourceType, kEmpty, kTextureDepthMultisampled2d); diff --git a/3rdparty/dawn/src/tint/api/common/subgroup_matrix.h b/3rdparty/dawn/src/tint/api/common/subgroup_matrix.h index 653abcb90..2c9249e46 100644 --- a/3rdparty/dawn/src/tint/api/common/subgroup_matrix.h +++ b/3rdparty/dawn/src/tint/api/common/subgroup_matrix.h @@ -31,7 +31,6 @@ #include #include "src/tint/utils/math/hash.h" - #include "src/tint/utils/reflection.h" namespace tint { diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_uniform_access.h b/3rdparty/dawn/src/tint/api/common/workgroup_info.h similarity index 67% rename from 3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_uniform_access.h rename to 3rdparty/dawn/src/tint/api/common/workgroup_info.h index 55adb65e7..962cde854 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_uniform_access.h +++ b/3rdparty/dawn/src/tint/api/common/workgroup_info.h @@ -1,4 +1,4 @@ -// Copyright 2024 The Dawn & Tint Authors +// Copyright 2026 The Dawn & Tint Authors // // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are met: @@ -25,25 +25,31 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#ifndef SRC_TINT_LANG_CORE_IR_TRANSFORM_DECOMPOSE_UNIFORM_ACCESS_H_ -#define SRC_TINT_LANG_CORE_IR_TRANSFORM_DECOMPOSE_UNIFORM_ACCESS_H_ +#ifndef SRC_TINT_API_COMMON_WORKGROUP_INFO_H_ +#define SRC_TINT_API_COMMON_WORKGROUP_INFO_H_ -#include "src/tint/utils/result.h" +#include +#include +#include -// Forward declarations. -namespace tint::core::ir { -class Module; -} // namespace tint::core::ir +namespace tint { -namespace tint::core::ir::transform { +/// Workgroup size information, which is part of the output of shader generation. +struct WorkgroupInfo { + /// The x-component + uint32_t x = 0; + /// The y-component + uint32_t y = 0; + /// The z-component + uint32_t z = 0; -/// DecomposeUniformAccess is a transform used to replace uniform buffer accesses with a -/// the correct load of the HLSL primitive objects -/// -/// @param module the module to transform -/// @returns success or failure -Result DecomposeUniformAccess(core::ir::Module& module); + /// The needed workgroup storage size + size_t storage_size = 0; -} // namespace tint::core::ir::transform + /// The `@subgroup_size` attribute + std::optional subgroup_size; +}; -#endif // SRC_TINT_LANG_CORE_IR_TRANSFORM_DECOMPOSE_UNIFORM_ACCESS_H_ +} // namespace tint + +#endif // SRC_TINT_API_COMMON_WORKGROUP_INFO_H_ diff --git a/3rdparty/dawn/src/tint/lang/core/constant/invalid.h b/3rdparty/dawn/src/tint/lang/core/constant/invalid.h index df4b68a1c..3117ffa4d 100644 --- a/3rdparty/dawn/src/tint/lang/core/constant/invalid.h +++ b/3rdparty/dawn/src/tint/lang/core/constant/invalid.h @@ -29,6 +29,7 @@ #define SRC_TINT_LANG_CORE_CONSTANT_INVALID_H_ #include + #include "src/tint/lang/core/constant/value.h" #include "src/tint/lang/core/number.h" #include "src/tint/lang/core/type/invalid.h" diff --git a/3rdparty/dawn/src/tint/lang/core/constant/manager.cc b/3rdparty/dawn/src/tint/lang/core/constant/manager.cc index 2312bd68c..a9bc61008 100644 --- a/3rdparty/dawn/src/tint/lang/core/constant/manager.cc +++ b/3rdparty/dawn/src/tint/lang/core/constant/manager.cc @@ -42,6 +42,7 @@ #include "src/tint/lang/core/type/i8.h" #include "src/tint/lang/core/type/manager.h" #include "src/tint/lang/core/type/matrix.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/core/type/u32.h" #include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/u8.h" @@ -115,6 +116,10 @@ const Scalar* Manager::Get(u8 value) { return Get>(types.u8(), value); } +const Scalar* Manager::Get(u16 value) { + return Get>(types.u16(), value); +} + const Scalar* Manager::Get(f32 value) { return Get>(types.f32(), value); } @@ -182,6 +187,7 @@ const Value* Manager::Zero(const core::type::Type* type) { [&](const core::type::U32*) { return Get(u32(0)); }, // [&](const core::type::I8*) { return Get(i8(0)); }, // [&](const core::type::U8*) { return Get(u8(0)); }, // + [&](const core::type::U16*) { return Get(u16(0)); }, // [&](const core::type::U64*) { return Get(u64(0)); }, // [&](const core::type::F32*) { return Get(f32(0)); }, // [&](const core::type::F16*) { return Get(f16(0)); }, // diff --git a/3rdparty/dawn/src/tint/lang/core/constant/manager.h b/3rdparty/dawn/src/tint/lang/core/constant/manager.h index 2b6f774ed..8aafbdd76 100644 --- a/3rdparty/dawn/src/tint/lang/core/constant/manager.h +++ b/3rdparty/dawn/src/tint/lang/core/constant/manager.h @@ -118,6 +118,10 @@ class Manager final { /// @return a Scalar holding the u8 value @p value const Scalar* Get(u8 value); + /// @param value the constant value + /// @return a Scalar holding the u16 value @p value + const Scalar* Get(u16 value); + /// @param value the constant value /// @return a Scalar holding the f32 value @p value const Scalar* Get(f32 value); diff --git a/3rdparty/dawn/src/tint/lang/core/constant/scalar.cc b/3rdparty/dawn/src/tint/lang/core/constant/scalar.cc index 00614d208..a58084422 100644 --- a/3rdparty/dawn/src/tint/lang/core/constant/scalar.cc +++ b/3rdparty/dawn/src/tint/lang/core/constant/scalar.cc @@ -35,6 +35,7 @@ TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); +TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); TINT_INSTANTIATE_TYPEINFO(tint::core::constant::Scalar); diff --git a/3rdparty/dawn/src/tint/lang/core/enums.cc b/3rdparty/dawn/src/tint/lang/core/enums.cc index 164d7e73e..682a60de0 100644 --- a/3rdparty/dawn/src/tint/lang/core/enums.cc +++ b/3rdparty/dawn/src/tint/lang/core/enums.cc @@ -192,6 +192,54 @@ std::string_view ToString(InterpolationType value) { return ""; } +/// ParseSamplerFiltering parses a SamplerFiltering from a string. +/// @param str the string to parse +/// @returns the parsed enum, or SamplerFiltering::kUndefined if the string could not be parsed. +SamplerFiltering ParseSamplerFiltering(std::string_view str) { + if (str == "filtering") { + return SamplerFiltering::kFiltering; + } + if (str == "non_filtering") { + return SamplerFiltering::kNonFiltering; + } + return SamplerFiltering::kUndefined; +} +std::string_view ToString(SamplerFiltering value) { + switch (value) { + case SamplerFiltering::kUndefined: + return "undefined"; + case SamplerFiltering::kFiltering: + return "filtering"; + case SamplerFiltering::kNonFiltering: + return "non_filtering"; + } + return ""; +} + +/// ParseTextureFilterable parses a TextureFilterable from a string. +/// @param str the string to parse +/// @returns the parsed enum, or TextureFilterable::kUndefined if the string could not be parsed. +TextureFilterable ParseTextureFilterable(std::string_view str) { + if (str == "filterable") { + return TextureFilterable::kFilterable; + } + if (str == "unfilterable") { + return TextureFilterable::kUnfilterable; + } + return TextureFilterable::kUndefined; +} +std::string_view ToString(TextureFilterable value) { + switch (value) { + case TextureFilterable::kUndefined: + return "undefined"; + case TextureFilterable::kFilterable: + return "filterable"; + case TextureFilterable::kUnfilterable: + return "unfilterable"; + } + return ""; +} + /// ParseSubgroupMatrixKind parses a SubgroupMatrixKind from a string. /// @param str the string to parse /// @returns the parsed enum, or SubgroupMatrixKind::kUndefined if the string could not be parsed. @@ -700,6 +748,9 @@ BuiltinType ParseBuiltinType(std::string_view str) { if (str == "texture_storage_3d") { return BuiltinType::kTextureStorage3D; } + if (str == "u16") { + return BuiltinType::kU16; + } if (str == "u32") { return BuiltinType::kU32; } @@ -931,6 +982,8 @@ std::string_view ToString(BuiltinType value) { return "texture_storage_2d_array"; case BuiltinType::kTextureStorage3D: return "texture_storage_3d"; + case BuiltinType::kU16: + return "u16"; case BuiltinType::kU32: return "u32"; case BuiltinType::kU8: @@ -988,6 +1041,9 @@ BuiltinValue ParseBuiltinValue(std::string_view str) { if (str == "global_invocation_id") { return BuiltinValue::kGlobalInvocationId; } + if (str == "global_invocation_index") { + return BuiltinValue::kGlobalInvocationIndex; + } if (str == "instance_index") { return BuiltinValue::kInstanceIndex; } @@ -1030,6 +1086,9 @@ BuiltinValue ParseBuiltinValue(std::string_view str) { if (str == "workgroup_id") { return BuiltinValue::kWorkgroupId; } + if (str == "workgroup_index") { + return BuiltinValue::kWorkgroupIndex; + } return BuiltinValue::kUndefined; } std::string_view ToString(BuiltinValue value) { @@ -1050,6 +1109,8 @@ std::string_view ToString(BuiltinValue value) { return "front_facing"; case BuiltinValue::kGlobalInvocationId: return "global_invocation_id"; + case BuiltinValue::kGlobalInvocationIndex: + return "global_invocation_index"; case BuiltinValue::kInstanceIndex: return "instance_index"; case BuiltinValue::kLocalInvocationId: @@ -1078,6 +1139,8 @@ std::string_view ToString(BuiltinValue value) { return "vertex_index"; case BuiltinValue::kWorkgroupId: return "workgroup_id"; + case BuiltinValue::kWorkgroupIndex: + return "workgroup_index"; } return ""; } @@ -1232,6 +1295,8 @@ std::string_view ToString(ParameterUsage usage) { return "bias"; case ParameterUsage::kBits: return "bits"; + case ParameterUsage::kColMajor: + return "col_major"; case ParameterUsage::kCompareValue: return "compare_value"; case ParameterUsage::kComponent: @@ -1314,6 +1379,8 @@ std::string_view ToString(ParameterUsage usage) { return "scope"; case ParameterUsage::kSourceLaneIndex: return "sourceLaneIndex"; + case ParameterUsage::kStride: + return "stride"; case ParameterUsage::kTexel: return "texel"; case ParameterUsage::kTexture: @@ -1582,9 +1649,6 @@ BuiltinFn ParseBuiltinFn(std::string_view name) { if (name == "step") { return BuiltinFn::kStep; } - if (name == "storageBarrier") { - return BuiltinFn::kStorageBarrier; - } if (name == "tan") { return BuiltinFn::kTan; } @@ -1618,6 +1682,9 @@ BuiltinFn ParseBuiltinFn(std::string_view name) { if (name == "unpack4xU8") { return BuiltinFn::kUnpack4XU8; } + if (name == "storageBarrier") { + return BuiltinFn::kStorageBarrier; + } if (name == "workgroupBarrier") { return BuiltinFn::kWorkgroupBarrier; } @@ -1705,6 +1772,12 @@ BuiltinFn ParseBuiltinFn(std::string_view name) { if (name == "atomicCompareExchangeWeak") { return BuiltinFn::kAtomicCompareExchangeWeak; } + if (name == "atomicStoreMax") { + return BuiltinFn::kAtomicStoreMax; + } + if (name == "atomicStoreMin") { + return BuiltinFn::kAtomicStoreMin; + } if (name == "subgroupBallot") { return BuiltinFn::kSubgroupBallot; } @@ -1981,8 +2054,6 @@ const char* str(BuiltinFn i) { return "sqrt"; case BuiltinFn::kStep: return "step"; - case BuiltinFn::kStorageBarrier: - return "storageBarrier"; case BuiltinFn::kTan: return "tan"; case BuiltinFn::kTanh: @@ -2005,6 +2076,8 @@ const char* str(BuiltinFn i) { return "unpack4xI8"; case BuiltinFn::kUnpack4XU8: return "unpack4xU8"; + case BuiltinFn::kStorageBarrier: + return "storageBarrier"; case BuiltinFn::kWorkgroupBarrier: return "workgroupBarrier"; case BuiltinFn::kTextureBarrier: @@ -2063,6 +2136,10 @@ const char* str(BuiltinFn i) { return "atomicExchange"; case BuiltinFn::kAtomicCompareExchangeWeak: return "atomicCompareExchangeWeak"; + case BuiltinFn::kAtomicStoreMax: + return "atomicStoreMax"; + case BuiltinFn::kAtomicStoreMin: + return "atomicStoreMin"; case BuiltinFn::kSubgroupBallot: return "subgroupBallot"; case BuiltinFn::kSubgroupElect: diff --git a/3rdparty/dawn/src/tint/lang/core/enums.h b/3rdparty/dawn/src/tint/lang/core/enums.h index 06e31c5a7..a36ea2641 100644 --- a/3rdparty/dawn/src/tint/lang/core/enums.h +++ b/3rdparty/dawn/src/tint/lang/core/enums.h @@ -198,6 +198,66 @@ constexpr std::string_view kInterpolationTypeStrings[] = { "perspective", }; +/// The sampler filtering. +enum class SamplerFiltering : uint8_t { + kUndefined, + kFiltering, + kNonFiltering, +}; + +/// @param value the enum value +/// @returns the string for the given enum value +std::string_view ToString(SamplerFiltering value); + +/// @param out the stream to write to +/// @param value the SamplerFiltering +/// @returns @p out so calls can be chained +template + requires(traits::IsOStream) +auto& operator<<(STREAM& out, SamplerFiltering value) { + return out << ToString(value); +} + +/// ParseSamplerFiltering parses a SamplerFiltering from a string. +/// @param str the string to parse +/// @returns the parsed enum, or SamplerFiltering::kUndefined if the string could not be parsed. +SamplerFiltering ParseSamplerFiltering(std::string_view str); + +constexpr std::string_view kSamplerFilteringStrings[] = { + "filtering", + "non_filtering", +}; + +/// The texture filterable. +enum class TextureFilterable : uint8_t { + kUndefined, + kFilterable, + kUnfilterable, +}; + +/// @param value the enum value +/// @returns the string for the given enum value +std::string_view ToString(TextureFilterable value); + +/// @param out the stream to write to +/// @param value the TextureFilterable +/// @returns @p out so calls can be chained +template + requires(traits::IsOStream) +auto& operator<<(STREAM& out, TextureFilterable value) { + return out << ToString(value); +} + +/// ParseTextureFilterable parses a TextureFilterable from a string. +/// @param str the string to parse +/// @returns the parsed enum, or TextureFilterable::kUndefined if the string could not be parsed. +TextureFilterable ParseTextureFilterable(std::string_view str); + +constexpr std::string_view kTextureFilterableStrings[] = { + "filterable", + "unfilterable", +}; + /// Address space of a given pointer. enum class SubgroupMatrixKind : uint8_t { kUndefined, @@ -426,6 +486,7 @@ enum class BuiltinType : uint8_t { kTextureStorage2D, kTextureStorage2DArray, kTextureStorage3D, + kU16, kU32, kU8, kVec2, @@ -551,6 +612,7 @@ constexpr std::string_view kBuiltinTypeStrings[] = { "texture_storage_2d", "texture_storage_2d_array", "texture_storage_3d", + "u16", "u32", "u8", "vec2", @@ -580,6 +642,7 @@ enum class BuiltinValue : uint8_t { kFragDepth, kFrontFacing, kGlobalInvocationId, + kGlobalInvocationIndex, kInstanceIndex, kLocalInvocationId, kLocalInvocationIndex, @@ -594,6 +657,7 @@ enum class BuiltinValue : uint8_t { kSubgroupSize, kVertexIndex, kWorkgroupId, + kWorkgroupIndex, }; /// @param value the enum value @@ -620,6 +684,7 @@ constexpr std::string_view kBuiltinValueStrings[] = { "frag_depth", "front_facing", "global_invocation_id", + "global_invocation_index", "instance_index", "local_invocation_id", "local_invocation_index", @@ -634,6 +699,7 @@ constexpr std::string_view kBuiltinValueStrings[] = { "subgroup_size", "vertex_index", "workgroup_id", + "workgroup_index", }; /// Builtin depth mode defined with `@builtin(, )`. @@ -739,6 +805,7 @@ enum class ParameterUsage : uint8_t { kBase, kBias, kBits, + kColMajor, kCompareValue, kComponent, kConstOffset, @@ -780,6 +847,7 @@ enum class ParameterUsage : uint8_t { kSamples, kScope, kSourceLaneIndex, + kStride, kTexel, kTexture, kValue, @@ -890,7 +958,6 @@ enum class BuiltinFn : uint8_t { kSmoothstep, kSqrt, kStep, - kStorageBarrier, kTan, kTanh, kTranspose, @@ -902,6 +969,7 @@ enum class BuiltinFn : uint8_t { kUnpack4X8Unorm, kUnpack4XI8, kUnpack4XU8, + kStorageBarrier, kWorkgroupBarrier, kTextureBarrier, kTextureDimensions, @@ -931,6 +999,8 @@ enum class BuiltinFn : uint8_t { kAtomicXor, kAtomicExchange, kAtomicCompareExchangeWeak, + kAtomicStoreMax, + kAtomicStoreMin, kSubgroupBallot, kSubgroupElect, kSubgroupBroadcast, @@ -1070,7 +1140,6 @@ constexpr BuiltinFn kBuiltinFns[] = { BuiltinFn::kSmoothstep, BuiltinFn::kSqrt, BuiltinFn::kStep, - BuiltinFn::kStorageBarrier, BuiltinFn::kTan, BuiltinFn::kTanh, BuiltinFn::kTranspose, @@ -1082,6 +1151,7 @@ constexpr BuiltinFn kBuiltinFns[] = { BuiltinFn::kUnpack4X8Unorm, BuiltinFn::kUnpack4XI8, BuiltinFn::kUnpack4XU8, + BuiltinFn::kStorageBarrier, BuiltinFn::kWorkgroupBarrier, BuiltinFn::kTextureBarrier, BuiltinFn::kTextureDimensions, @@ -1111,6 +1181,8 @@ constexpr BuiltinFn kBuiltinFns[] = { BuiltinFn::kAtomicXor, BuiltinFn::kAtomicExchange, BuiltinFn::kAtomicCompareExchangeWeak, + BuiltinFn::kAtomicStoreMax, + BuiltinFn::kAtomicStoreMin, BuiltinFn::kSubgroupBallot, BuiltinFn::kSubgroupElect, BuiltinFn::kSubgroupBroadcast, @@ -1231,7 +1303,6 @@ constexpr const char* kBuiltinFnStrings[] = { "smoothstep", "sqrt", "step", - "storageBarrier", "tan", "tanh", "transpose", @@ -1243,6 +1314,7 @@ constexpr const char* kBuiltinFnStrings[] = { "unpack4x8unorm", "unpack4xI8", "unpack4xU8", + "storageBarrier", "workgroupBarrier", "textureBarrier", "textureDimensions", @@ -1272,6 +1344,8 @@ constexpr const char* kBuiltinFnStrings[] = { "atomicXor", "atomicExchange", "atomicCompareExchangeWeak", + "atomicStoreMax", + "atomicStoreMin", "subgroupBallot", "subgroupElect", "subgroupBroadcast", diff --git a/3rdparty/dawn/src/tint/lang/core/fluent_types.h b/3rdparty/dawn/src/tint/lang/core/fluent_types.h index de6ab77fe..df3d806f7 100644 --- a/3rdparty/dawn/src/tint/lang/core/fluent_types.h +++ b/3rdparty/dawn/src/tint/lang/core/fluent_types.h @@ -39,13 +39,14 @@ using f16 = tint::core::f16; using f32 = tint::core::f32; using i32 = tint::core::i32; using i8 = tint::core::i8; +using u16 = tint::core::u16; using u32 = tint::core::u32; using u64 = tint::core::u64; using u8 = tint::core::u8; using AFloat = tint::core::AFloat; using AInt = tint::core::AInt; -// A sentinel type used by some template arguments to signal that the a type should be inferred. +// A sentinel type used by some template arguments to signal that the type should be inferred. struct Infer {}; /// A 'fluent' type helper used to construct an ast::Array or type::Array. @@ -195,20 +196,20 @@ using vec4u = vec<4, u32>; //////////////////////////////////////////////////////////////////////////////// // Address space aliases //////////////////////////////////////////////////////////////////////////////// -static constexpr core::AddressSpace function = core::AddressSpace::kFunction; -static constexpr core::AddressSpace handle = core::AddressSpace::kHandle; -static constexpr core::AddressSpace private_ = core::AddressSpace::kPrivate; -static constexpr core::AddressSpace immediate = core::AddressSpace::kImmediate; -static constexpr core::AddressSpace storage = core::AddressSpace::kStorage; -static constexpr core::AddressSpace uniform = core::AddressSpace::kUniform; -static constexpr core::AddressSpace workgroup = core::AddressSpace::kWorkgroup; +inline constexpr core::AddressSpace function = core::AddressSpace::kFunction; +inline constexpr core::AddressSpace handle = core::AddressSpace::kHandle; +inline constexpr core::AddressSpace private_ = core::AddressSpace::kPrivate; +inline constexpr core::AddressSpace immediate = core::AddressSpace::kImmediate; +inline constexpr core::AddressSpace storage = core::AddressSpace::kStorage; +inline constexpr core::AddressSpace uniform = core::AddressSpace::kUniform; +inline constexpr core::AddressSpace workgroup = core::AddressSpace::kWorkgroup; //////////////////////////////////////////////////////////////////////////////// // Access control aliases //////////////////////////////////////////////////////////////////////////////// -static constexpr core::Access read = core::Access::kRead; -static constexpr core::Access read_write = core::Access::kReadWrite; -static constexpr core::Access write = core::Access::kWrite; +inline constexpr core::Access read = core::Access::kRead; +inline constexpr core::Access read_write = core::Access::kReadWrite; +inline constexpr core::Access write = core::Access::kWrite; //////////////////////////////////////////////////////////////////////////////// // Traits diff --git a/3rdparty/dawn/src/tint/lang/core/intrinsic/data.cc b/3rdparty/dawn/src/tint/lang/core/intrinsic/data.cc index af7cbdb66..6a9279318 100644 --- a/3rdparty/dawn/src/tint/lang/core/intrinsic/data.cc +++ b/3rdparty/dawn/src/tint/lang/core/intrinsic/data.cc @@ -114,6 +114,20 @@ constexpr TypeMatcher kU8Matcher { }; +/// TypeMatcher for 'type u16' +constexpr TypeMatcher kU16Matcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + if (!MatchU16(state, ty)) { + return nullptr; + } + return BuildU16(state, ty); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) { + out << style::Type("u16"); + } +}; + + /// TypeMatcher for 'type i32' constexpr TypeMatcher kI32Matcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -620,6 +634,26 @@ constexpr TypeMatcher kSamplerComparisonMatcher { }; +/// TypeMatcher for 'type sampler_filtered' +constexpr TypeMatcher kSamplerFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + Number F = Number::invalid; + if (!MatchSamplerFiltered(state, ty, F)) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildSamplerFiltered(state, ty, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F; + state->PrintNum(F); + out << style::Type("sampler<", F, ">"); + } +}; + + /// TypeMatcher for 'type texture_1d' constexpr TypeMatcher kTexture1DMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -740,6 +774,162 @@ constexpr TypeMatcher kTextureCubeArrayMatcher { }; +/// TypeMatcher for 'type texture_1d_filtered' +constexpr TypeMatcher kTexture1DFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture1DFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture1DFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_1d"); + } +}; + + +/// TypeMatcher for 'type texture_2d_filtered' +constexpr TypeMatcher kTexture2DFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture2DFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture2DFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_2d"); + } +}; + + +/// TypeMatcher for 'type texture_2d_array_filtered' +constexpr TypeMatcher kTexture2DArrayFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture2DArrayFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture2DArrayFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_2d_array"); + } +}; + + +/// TypeMatcher for 'type texture_3d_filtered' +constexpr TypeMatcher kTexture3DFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture3DFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture3DFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_3d"); + } +}; + + +/// TypeMatcher for 'type texture_cube_filtered' +constexpr TypeMatcher kTextureCubeFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTextureCubeFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTextureCubeFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_cube"); + } +}; + + +/// TypeMatcher for 'type texture_cube_array_filtered' +constexpr TypeMatcher kTextureCubeArrayFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTextureCubeArrayFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTextureCubeArrayFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_cube_array"); + } +}; + + /// TypeMatcher for 'type texture_multisampled_2d' constexpr TypeMatcher kTextureMultisampled2DMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -1178,6 +1368,20 @@ constexpr TypeMatcher kBufferMatcher { }; +/// TypeMatcher for 'type u64' +constexpr TypeMatcher kU64Matcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + if (!MatchU64(state, ty)) { + return nullptr; + } + return BuildU64(state, ty); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) { + out << style::Type("u64"); + } +}; + + /// TypeMatcher for 'match scalar' constexpr TypeMatcher kScalarMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -1193,6 +1397,9 @@ constexpr TypeMatcher kScalarMatcher { if (MatchF16(state, ty)) { return BuildF16(state, ty); } + if (MatchU16(state, ty)) { + return BuildU16(state, ty); + } if (MatchBool(state, ty)) { return BuildBool(state, ty); } @@ -1201,7 +1408,7 @@ constexpr TypeMatcher kScalarMatcher { /* print */ [](MatchState*, StyledText& out) { // Note: We pass nullptr to the Matcher.print() functions, as matchers do not support // template arguments, nor can they match sub-types. As such, they have no use for the MatchState. - kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);} + kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(", "); kU16Matcher.print(nullptr, out); out << style::Plain(" or "); kBoolMatcher.print(nullptr, out);} }; /// TypeMatcher for 'match scalar_no_f32' @@ -1502,6 +1709,90 @@ constexpr TypeMatcher kSubgroupMatrixElementsMatcher { kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU8Matcher.print(nullptr, out); out << style::Plain(" or "); kI8Matcher.print(nullptr, out);} }; +/// EnumMatcher for 'match filterable' +constexpr NumberMatcher kFilterableMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::TextureFilterable::kFilterable)) { + return Number(static_cast(core::TextureFilterable::kFilterable)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filterable"); + } +}; + +/// EnumMatcher for 'match unfilterable' +constexpr NumberMatcher kUnfilterableMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::TextureFilterable::kUnfilterable)) { + return Number(static_cast(core::TextureFilterable::kUnfilterable)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("unfilterable"); + } +}; + +/// EnumMatcher for 'match filtering' +constexpr NumberMatcher kFilteringMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SamplerFiltering::kFiltering)) { + return Number(static_cast(core::SamplerFiltering::kFiltering)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filtering"); + } +}; + +/// EnumMatcher for 'match non_filtering' +constexpr NumberMatcher kNonFilteringMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SamplerFiltering::kNonFiltering)) { + return Number(static_cast(core::SamplerFiltering::kNonFiltering)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("non_filtering"); + } +}; + +/// EnumMatcher for 'match texture_filter' +constexpr NumberMatcher kTextureFilterMatcher { +/* match */ [](MatchState&, Number number) -> Number { + switch (static_cast(number.Value())) { + case core::TextureFilterable::kFilterable: + case core::TextureFilterable::kUnfilterable: + return number; + default: + return Number::invalid; + } + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filterable")<< style::Plain(" or ") << style::Enum("unfilterable"); + } +}; + +/// EnumMatcher for 'match sampler_filter' +constexpr NumberMatcher kSamplerFilterMatcher { +/* match */ [](MatchState&, Number number) -> Number { + switch (static_cast(number.Value())) { + case core::SamplerFiltering::kFiltering: + case core::SamplerFiltering::kNonFiltering: + return number; + default: + return Number::invalid; + } + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filtering")<< style::Plain(" or ") << style::Enum("non_filtering"); + } +}; + /// EnumMatcher for 'match subgroup_matrix_kind_left' constexpr NumberMatcher kSubgroupMatrixKindLeftMatcher { /* match */ [](MatchState&, Number number) -> Number { @@ -1782,73 +2073,82 @@ constexpr TypeMatcher kTypeMatchers[] = { /* [6] */ kBoolMatcher, /* [7] */ kI8Matcher, /* [8] */ kU8Matcher, - /* [9] */ kI32Matcher, - /* [10] */ kU32Matcher, - /* [11] */ kF32Matcher, - /* [12] */ kF16Matcher, - /* [13] */ kVec2Matcher, - /* [14] */ kVec3Matcher, - /* [15] */ kVec4Matcher, - /* [16] */ kMat2X2Matcher, - /* [17] */ kMat2X3Matcher, - /* [18] */ kMat2X4Matcher, - /* [19] */ kMat3X2Matcher, - /* [20] */ kMat3X3Matcher, - /* [21] */ kMat3X4Matcher, - /* [22] */ kMat4X2Matcher, - /* [23] */ kMat4X3Matcher, - /* [24] */ kMat4X4Matcher, - /* [25] */ kVecMatcher, - /* [26] */ kMatMatcher, - /* [27] */ kPtrMatcher, - /* [28] */ kAtomicMatcher, - /* [29] */ kRuntimeArrayMatcher, - /* [30] */ kArrayMatcher, - /* [31] */ kBindingArrayMatcher, - /* [32] */ kSamplerMatcher, - /* [33] */ kSamplerComparisonMatcher, - /* [34] */ kTexture1DMatcher, - /* [35] */ kTexture2DMatcher, - /* [36] */ kTexture2DArrayMatcher, - /* [37] */ kTexture3DMatcher, - /* [38] */ kTextureCubeMatcher, - /* [39] */ kTextureCubeArrayMatcher, - /* [40] */ kTextureMultisampled2DMatcher, - /* [41] */ kTextureDepth2DMatcher, - /* [42] */ kTextureDepth2DArrayMatcher, - /* [43] */ kTextureDepthCubeMatcher, - /* [44] */ kTextureDepthCubeArrayMatcher, - /* [45] */ kTextureDepthMultisampled2DMatcher, - /* [46] */ kTextureStorage1DMatcher, - /* [47] */ kTextureStorage2DMatcher, - /* [48] */ kTextureStorage2DArrayMatcher, - /* [49] */ kTextureStorage3DMatcher, - /* [50] */ kTextureExternalMatcher, - /* [51] */ kTexelBufferMatcher, - /* [52] */ kInputAttachmentMatcher, - /* [53] */ kModfResultMatcher, - /* [54] */ kModfResultVecMatcher, - /* [55] */ kFrexpResultMatcher, - /* [56] */ kFrexpResultVecMatcher, - /* [57] */ kAtomicCompareExchangeResultMatcher, - /* [58] */ kSubgroupMatrixMatcher, - /* [59] */ kUnsizedBufferMatcher, - /* [60] */ kBufferMatcher, - /* [61] */ kScalarMatcher, - /* [62] */ kScalarNoF32Matcher, - /* [63] */ kScalarNoF16Matcher, - /* [64] */ kScalarNoI32Matcher, - /* [65] */ kScalarNoU32Matcher, - /* [66] */ kScalarNoBoolMatcher, - /* [67] */ kFiu32F16Matcher, - /* [68] */ kFiu32Matcher, - /* [69] */ kFi32F16Matcher, - /* [70] */ kFi32Matcher, - /* [71] */ kF32F16Matcher, - /* [72] */ kIu32Matcher, - /* [73] */ kIu32Iu8Matcher, - /* [74] */ kIu8Matcher, - /* [75] */ kSubgroupMatrixElementsMatcher, + /* [9] */ kU16Matcher, + /* [10] */ kI32Matcher, + /* [11] */ kU32Matcher, + /* [12] */ kF32Matcher, + /* [13] */ kF16Matcher, + /* [14] */ kVec2Matcher, + /* [15] */ kVec3Matcher, + /* [16] */ kVec4Matcher, + /* [17] */ kMat2X2Matcher, + /* [18] */ kMat2X3Matcher, + /* [19] */ kMat2X4Matcher, + /* [20] */ kMat3X2Matcher, + /* [21] */ kMat3X3Matcher, + /* [22] */ kMat3X4Matcher, + /* [23] */ kMat4X2Matcher, + /* [24] */ kMat4X3Matcher, + /* [25] */ kMat4X4Matcher, + /* [26] */ kVecMatcher, + /* [27] */ kMatMatcher, + /* [28] */ kPtrMatcher, + /* [29] */ kAtomicMatcher, + /* [30] */ kRuntimeArrayMatcher, + /* [31] */ kArrayMatcher, + /* [32] */ kBindingArrayMatcher, + /* [33] */ kSamplerMatcher, + /* [34] */ kSamplerComparisonMatcher, + /* [35] */ kSamplerFilteredMatcher, + /* [36] */ kTexture1DMatcher, + /* [37] */ kTexture2DMatcher, + /* [38] */ kTexture2DArrayMatcher, + /* [39] */ kTexture3DMatcher, + /* [40] */ kTextureCubeMatcher, + /* [41] */ kTextureCubeArrayMatcher, + /* [42] */ kTexture1DFilteredMatcher, + /* [43] */ kTexture2DFilteredMatcher, + /* [44] */ kTexture2DArrayFilteredMatcher, + /* [45] */ kTexture3DFilteredMatcher, + /* [46] */ kTextureCubeFilteredMatcher, + /* [47] */ kTextureCubeArrayFilteredMatcher, + /* [48] */ kTextureMultisampled2DMatcher, + /* [49] */ kTextureDepth2DMatcher, + /* [50] */ kTextureDepth2DArrayMatcher, + /* [51] */ kTextureDepthCubeMatcher, + /* [52] */ kTextureDepthCubeArrayMatcher, + /* [53] */ kTextureDepthMultisampled2DMatcher, + /* [54] */ kTextureStorage1DMatcher, + /* [55] */ kTextureStorage2DMatcher, + /* [56] */ kTextureStorage2DArrayMatcher, + /* [57] */ kTextureStorage3DMatcher, + /* [58] */ kTextureExternalMatcher, + /* [59] */ kTexelBufferMatcher, + /* [60] */ kInputAttachmentMatcher, + /* [61] */ kModfResultMatcher, + /* [62] */ kModfResultVecMatcher, + /* [63] */ kFrexpResultMatcher, + /* [64] */ kFrexpResultVecMatcher, + /* [65] */ kAtomicCompareExchangeResultMatcher, + /* [66] */ kSubgroupMatrixMatcher, + /* [67] */ kUnsizedBufferMatcher, + /* [68] */ kBufferMatcher, + /* [69] */ kU64Matcher, + /* [70] */ kScalarMatcher, + /* [71] */ kScalarNoF32Matcher, + /* [72] */ kScalarNoF16Matcher, + /* [73] */ kScalarNoI32Matcher, + /* [74] */ kScalarNoU32Matcher, + /* [75] */ kScalarNoBoolMatcher, + /* [76] */ kFiu32F16Matcher, + /* [77] */ kFiu32Matcher, + /* [78] */ kFi32F16Matcher, + /* [79] */ kFi32Matcher, + /* [80] */ kF32F16Matcher, + /* [81] */ kIu32Matcher, + /* [82] */ kIu32Iu8Matcher, + /* [83] */ kIu8Matcher, + /* [84] */ kSubgroupMatrixElementsMatcher, }; /// The template numbers, and number matchers @@ -1859,493 +2159,562 @@ constexpr NumberMatcher kNumberMatchers[] = { /* [3] */ TemplateNumberMatcher<3>::matcher, /* [4] */ TemplateNumberMatcher<4>::matcher, /* [5] */ TemplateNumberMatcher<5>::matcher, - /* [6] */ kSubgroupMatrixKindLeftMatcher, - /* [7] */ kSubgroupMatrixKindRightMatcher, - /* [8] */ kSubgroupMatrixKindResultMatcher, - /* [9] */ kF32TexelFormatMatcher, - /* [10] */ kI32TexelFormatMatcher, - /* [11] */ kU32TexelFormatMatcher, - /* [12] */ kReadMatcher, - /* [13] */ kWriteMatcher, - /* [14] */ kReadWriteMatcher, - /* [15] */ kReadableMatcher, - /* [16] */ kWritableMatcher, - /* [17] */ kFunctionPrivateWorkgroupMatcher, - /* [18] */ kWorkgroupOrStorageMatcher, - /* [19] */ kUniformOrStorageMatcher, - /* [20] */ kStorageMatcher, - /* [21] */ kWorkgroupMatcher, + /* [6] */ kFilterableMatcher, + /* [7] */ kUnfilterableMatcher, + /* [8] */ kFilteringMatcher, + /* [9] */ kNonFilteringMatcher, + /* [10] */ kTextureFilterMatcher, + /* [11] */ kSamplerFilterMatcher, + /* [12] */ kSubgroupMatrixKindLeftMatcher, + /* [13] */ kSubgroupMatrixKindRightMatcher, + /* [14] */ kSubgroupMatrixKindResultMatcher, + /* [15] */ kF32TexelFormatMatcher, + /* [16] */ kI32TexelFormatMatcher, + /* [17] */ kU32TexelFormatMatcher, + /* [18] */ kReadMatcher, + /* [19] */ kWriteMatcher, + /* [20] */ kReadWriteMatcher, + /* [21] */ kReadableMatcher, + /* [22] */ kWritableMatcher, + /* [23] */ kFunctionPrivateWorkgroupMatcher, + /* [24] */ kWorkgroupOrStorageMatcher, + /* [25] */ kUniformOrStorageMatcher, + /* [26] */ kStorageMatcher, + /* [27] */ kWorkgroupMatcher, }; constexpr MatcherIndex kMatcherIndices[] = { - /* [0] */ MatcherIndex(27), - /* [1] */ MatcherIndex(18), - /* [2] */ MatcherIndex(30), + /* [0] */ MatcherIndex(28), + /* [1] */ MatcherIndex(24), + /* [2] */ MatcherIndex(31), /* [3] */ MatcherIndex(2), /* [4] */ MatcherIndex(5), - /* [5] */ MatcherIndex(15), - /* [6] */ MatcherIndex(11), - /* [7] */ MatcherIndex(27), - /* [8] */ MatcherIndex(18), - /* [9] */ MatcherIndex(30), - /* [10] */ MatcherIndex(9), + /* [5] */ MatcherIndex(21), + /* [6] */ MatcherIndex(0), + /* [7] */ MatcherIndex(28), + /* [8] */ MatcherIndex(24), + /* [9] */ MatcherIndex(31), + /* [10] */ MatcherIndex(10), /* [11] */ MatcherIndex(5), - /* [12] */ MatcherIndex(15), - /* [13] */ MatcherIndex(9), - /* [14] */ MatcherIndex(27), - /* [15] */ MatcherIndex(18), - /* [16] */ MatcherIndex(30), - /* [17] */ MatcherIndex(10), + /* [12] */ MatcherIndex(21), + /* [13] */ MatcherIndex(12), + /* [14] */ MatcherIndex(28), + /* [15] */ MatcherIndex(24), + /* [16] */ MatcherIndex(31), + /* [17] */ MatcherIndex(11), /* [18] */ MatcherIndex(5), - /* [19] */ MatcherIndex(15), - /* [20] */ MatcherIndex(10), - /* [21] */ MatcherIndex(27), - /* [22] */ MatcherIndex(18), - /* [23] */ MatcherIndex(30), + /* [19] */ MatcherIndex(21), + /* [20] */ MatcherIndex(13), + /* [21] */ MatcherIndex(28), + /* [22] */ MatcherIndex(24), + /* [23] */ MatcherIndex(31), /* [24] */ MatcherIndex(1), /* [25] */ MatcherIndex(4), - /* [26] */ MatcherIndex(16), + /* [26] */ MatcherIndex(22), /* [27] */ MatcherIndex(0), - /* [28] */ MatcherIndex(27), - /* [29] */ MatcherIndex(18), - /* [30] */ MatcherIndex(30), - /* [31] */ MatcherIndex(9), + /* [28] */ MatcherIndex(28), + /* [29] */ MatcherIndex(24), + /* [30] */ MatcherIndex(31), + /* [31] */ MatcherIndex(10), /* [32] */ MatcherIndex(4), - /* [33] */ MatcherIndex(16), - /* [34] */ MatcherIndex(11), - /* [35] */ MatcherIndex(27), - /* [36] */ MatcherIndex(18), - /* [37] */ MatcherIndex(30), - /* [38] */ MatcherIndex(10), + /* [33] */ MatcherIndex(22), + /* [34] */ MatcherIndex(12), + /* [35] */ MatcherIndex(28), + /* [36] */ MatcherIndex(24), + /* [37] */ MatcherIndex(31), + /* [38] */ MatcherIndex(11), /* [39] */ MatcherIndex(4), - /* [40] */ MatcherIndex(16), - /* [41] */ MatcherIndex(12), - /* [42] */ MatcherIndex(27), - /* [43] */ MatcherIndex(20), - /* [44] */ MatcherIndex(29), + /* [40] */ MatcherIndex(22), + /* [41] */ MatcherIndex(13), + /* [42] */ MatcherIndex(28), + /* [43] */ MatcherIndex(26), + /* [44] */ MatcherIndex(30), /* [45] */ MatcherIndex(0), /* [46] */ MatcherIndex(1), - /* [47] */ MatcherIndex(27), + /* [47] */ MatcherIndex(28), /* [48] */ MatcherIndex(1), - /* [49] */ MatcherIndex(28), + /* [49] */ MatcherIndex(29), /* [50] */ MatcherIndex(0), - /* [51] */ MatcherIndex(14), + /* [51] */ MatcherIndex(20), /* [52] */ MatcherIndex(0), - /* [53] */ MatcherIndex(58), - /* [54] */ MatcherIndex(1), - /* [55] */ MatcherIndex(2), - /* [56] */ MatcherIndex(3), - /* [57] */ MatcherIndex(4), - /* [58] */ MatcherIndex(27), - /* [59] */ MatcherIndex(20), - /* [60] */ MatcherIndex(29), + /* [53] */ MatcherIndex(28), + /* [54] */ MatcherIndex(26), + /* [55] */ MatcherIndex(29), + /* [56] */ MatcherIndex(69), + /* [57] */ MatcherIndex(20), + /* [58] */ MatcherIndex(12), + /* [59] */ MatcherIndex(66), + /* [60] */ MatcherIndex(1), /* [61] */ MatcherIndex(2), - /* [62] */ MatcherIndex(15), - /* [63] */ MatcherIndex(0), - /* [64] */ MatcherIndex(27), - /* [65] */ MatcherIndex(20), - /* [66] */ MatcherIndex(29), - /* [67] */ MatcherIndex(9), - /* [68] */ MatcherIndex(15), - /* [69] */ MatcherIndex(1), - /* [70] */ MatcherIndex(27), - /* [71] */ MatcherIndex(20), - /* [72] */ MatcherIndex(29), - /* [73] */ MatcherIndex(10), - /* [74] */ MatcherIndex(15), - /* [75] */ MatcherIndex(27), - /* [76] */ MatcherIndex(20), - /* [77] */ MatcherIndex(29), - /* [78] */ MatcherIndex(1), - /* [79] */ MatcherIndex(16), - /* [80] */ MatcherIndex(58), - /* [81] */ MatcherIndex(0), + /* [62] */ MatcherIndex(3), + /* [63] */ MatcherIndex(4), + /* [64] */ MatcherIndex(28), + /* [65] */ MatcherIndex(26), + /* [66] */ MatcherIndex(30), + /* [67] */ MatcherIndex(2), + /* [68] */ MatcherIndex(21), + /* [69] */ MatcherIndex(28), + /* [70] */ MatcherIndex(26), + /* [71] */ MatcherIndex(30), + /* [72] */ MatcherIndex(10), + /* [73] */ MatcherIndex(21), + /* [74] */ MatcherIndex(28), + /* [75] */ MatcherIndex(26), + /* [76] */ MatcherIndex(30), + /* [77] */ MatcherIndex(11), + /* [78] */ MatcherIndex(21), + /* [79] */ MatcherIndex(28), + /* [80] */ MatcherIndex(26), + /* [81] */ MatcherIndex(30), /* [82] */ MatcherIndex(1), - /* [83] */ MatcherIndex(2), - /* [84] */ MatcherIndex(3), - /* [85] */ MatcherIndex(27), - /* [86] */ MatcherIndex(20), - /* [87] */ MatcherIndex(29), - /* [88] */ MatcherIndex(9), - /* [89] */ MatcherIndex(16), - /* [90] */ MatcherIndex(27), - /* [91] */ MatcherIndex(20), - /* [92] */ MatcherIndex(29), - /* [93] */ MatcherIndex(10), - /* [94] */ MatcherIndex(16), - /* [95] */ MatcherIndex(58), - /* [96] */ MatcherIndex(8), - /* [97] */ MatcherIndex(0), - /* [98] */ MatcherIndex(2), - /* [99] */ MatcherIndex(3), - /* [100] */ MatcherIndex(58), - /* [101] */ MatcherIndex(6), - /* [102] */ MatcherIndex(1), - /* [103] */ MatcherIndex(4), - /* [104] */ MatcherIndex(3), - /* [105] */ MatcherIndex(58), - /* [106] */ MatcherIndex(7), - /* [107] */ MatcherIndex(1), - /* [108] */ MatcherIndex(2), - /* [109] */ MatcherIndex(4), - /* [110] */ MatcherIndex(58), - /* [111] */ MatcherIndex(8), - /* [112] */ MatcherIndex(1), - /* [113] */ MatcherIndex(2), - /* [114] */ MatcherIndex(3), - /* [115] */ MatcherIndex(58), - /* [116] */ MatcherIndex(6), - /* [117] */ MatcherIndex(0), - /* [118] */ MatcherIndex(4), - /* [119] */ MatcherIndex(3), - /* [120] */ MatcherIndex(58), - /* [121] */ MatcherIndex(7), - /* [122] */ MatcherIndex(0), - /* [123] */ MatcherIndex(2), - /* [124] */ MatcherIndex(4), - /* [125] */ MatcherIndex(58), + /* [83] */ MatcherIndex(22), + /* [84] */ MatcherIndex(66), + /* [85] */ MatcherIndex(0), + /* [86] */ MatcherIndex(1), + /* [87] */ MatcherIndex(2), + /* [88] */ MatcherIndex(3), + /* [89] */ MatcherIndex(28), + /* [90] */ MatcherIndex(26), + /* [91] */ MatcherIndex(30), + /* [92] */ MatcherIndex(10), + /* [93] */ MatcherIndex(22), + /* [94] */ MatcherIndex(28), + /* [95] */ MatcherIndex(26), + /* [96] */ MatcherIndex(30), + /* [97] */ MatcherIndex(11), + /* [98] */ MatcherIndex(22), + /* [99] */ MatcherIndex(66), + /* [100] */ MatcherIndex(14), + /* [101] */ MatcherIndex(0), + /* [102] */ MatcherIndex(2), + /* [103] */ MatcherIndex(3), + /* [104] */ MatcherIndex(66), + /* [105] */ MatcherIndex(12), + /* [106] */ MatcherIndex(1), + /* [107] */ MatcherIndex(4), + /* [108] */ MatcherIndex(3), + /* [109] */ MatcherIndex(66), + /* [110] */ MatcherIndex(13), + /* [111] */ MatcherIndex(1), + /* [112] */ MatcherIndex(2), + /* [113] */ MatcherIndex(4), + /* [114] */ MatcherIndex(66), + /* [115] */ MatcherIndex(14), + /* [116] */ MatcherIndex(1), + /* [117] */ MatcherIndex(2), + /* [118] */ MatcherIndex(3), + /* [119] */ MatcherIndex(66), + /* [120] */ MatcherIndex(12), + /* [121] */ MatcherIndex(0), + /* [122] */ MatcherIndex(4), + /* [123] */ MatcherIndex(3), + /* [124] */ MatcherIndex(66), + /* [125] */ MatcherIndex(13), /* [126] */ MatcherIndex(0), - /* [127] */ MatcherIndex(7), - /* [128] */ MatcherIndex(1), - /* [129] */ MatcherIndex(2), - /* [130] */ MatcherIndex(58), - /* [131] */ MatcherIndex(0), - /* [132] */ MatcherIndex(8), - /* [133] */ MatcherIndex(1), - /* [134] */ MatcherIndex(2), - /* [135] */ MatcherIndex(27), - /* [136] */ MatcherIndex(2), - /* [137] */ MatcherIndex(60), - /* [138] */ MatcherIndex(4), - /* [139] */ MatcherIndex(1), - /* [140] */ MatcherIndex(27), - /* [141] */ MatcherIndex(1), - /* [142] */ MatcherIndex(60), - /* [143] */ MatcherIndex(2), - /* [144] */ MatcherIndex(0), - /* [145] */ MatcherIndex(58), - /* [146] */ MatcherIndex(6), - /* [147] */ MatcherIndex(0), - /* [148] */ MatcherIndex(1), - /* [149] */ MatcherIndex(2), - /* [150] */ MatcherIndex(58), - /* [151] */ MatcherIndex(7), - /* [152] */ MatcherIndex(0), - /* [153] */ MatcherIndex(1), - /* [154] */ MatcherIndex(2), - /* [155] */ MatcherIndex(58), - /* [156] */ MatcherIndex(8), - /* [157] */ MatcherIndex(0), - /* [158] */ MatcherIndex(1), - /* [159] */ MatcherIndex(2), - /* [160] */ MatcherIndex(26), + /* [127] */ MatcherIndex(2), + /* [128] */ MatcherIndex(4), + /* [129] */ MatcherIndex(66), + /* [130] */ MatcherIndex(0), + /* [131] */ MatcherIndex(7), + /* [132] */ MatcherIndex(1), + /* [133] */ MatcherIndex(2), + /* [134] */ MatcherIndex(66), + /* [135] */ MatcherIndex(0), + /* [136] */ MatcherIndex(8), + /* [137] */ MatcherIndex(1), + /* [138] */ MatcherIndex(2), + /* [139] */ MatcherIndex(28), + /* [140] */ MatcherIndex(2), + /* [141] */ MatcherIndex(68), + /* [142] */ MatcherIndex(4), + /* [143] */ MatcherIndex(1), + /* [144] */ MatcherIndex(28), + /* [145] */ MatcherIndex(1), + /* [146] */ MatcherIndex(68), + /* [147] */ MatcherIndex(2), + /* [148] */ MatcherIndex(0), + /* [149] */ MatcherIndex(66), + /* [150] */ MatcherIndex(12), + /* [151] */ MatcherIndex(0), + /* [152] */ MatcherIndex(1), + /* [153] */ MatcherIndex(2), + /* [154] */ MatcherIndex(66), + /* [155] */ MatcherIndex(13), + /* [156] */ MatcherIndex(0), + /* [157] */ MatcherIndex(1), + /* [158] */ MatcherIndex(2), + /* [159] */ MatcherIndex(66), + /* [160] */ MatcherIndex(14), /* [161] */ MatcherIndex(0), - /* [162] */ MatcherIndex(0), - /* [163] */ MatcherIndex(1), - /* [164] */ MatcherIndex(26), - /* [165] */ MatcherIndex(1), + /* [162] */ MatcherIndex(1), + /* [163] */ MatcherIndex(2), + /* [164] */ MatcherIndex(27), + /* [165] */ MatcherIndex(0), /* [166] */ MatcherIndex(0), - /* [167] */ MatcherIndex(2), - /* [168] */ MatcherIndex(26), - /* [169] */ MatcherIndex(0), - /* [170] */ MatcherIndex(1), + /* [167] */ MatcherIndex(1), + /* [168] */ MatcherIndex(27), + /* [169] */ MatcherIndex(1), + /* [170] */ MatcherIndex(0), /* [171] */ MatcherIndex(2), /* [172] */ MatcherIndex(27), - /* [173] */ MatcherIndex(2), - /* [174] */ MatcherIndex(0), - /* [175] */ MatcherIndex(1), - /* [176] */ MatcherIndex(27), + /* [173] */ MatcherIndex(0), + /* [174] */ MatcherIndex(1), + /* [175] */ MatcherIndex(2), + /* [176] */ MatcherIndex(28), /* [177] */ MatcherIndex(2), - /* [178] */ MatcherIndex(59), + /* [178] */ MatcherIndex(0), /* [179] */ MatcherIndex(1), - /* [180] */ MatcherIndex(27), - /* [181] */ MatcherIndex(1), - /* [182] */ MatcherIndex(59), - /* [183] */ MatcherIndex(0), - /* [184] */ MatcherIndex(26), + /* [180] */ MatcherIndex(28), + /* [181] */ MatcherIndex(2), + /* [182] */ MatcherIndex(67), + /* [183] */ MatcherIndex(1), + /* [184] */ MatcherIndex(28), /* [185] */ MatcherIndex(1), - /* [186] */ MatcherIndex(2), + /* [186] */ MatcherIndex(67), /* [187] */ MatcherIndex(0), - /* [188] */ MatcherIndex(26), - /* [189] */ MatcherIndex(2), - /* [190] */ MatcherIndex(3), + /* [188] */ MatcherIndex(27), + /* [189] */ MatcherIndex(1), + /* [190] */ MatcherIndex(2), /* [191] */ MatcherIndex(0), - /* [192] */ MatcherIndex(26), - /* [193] */ MatcherIndex(1), + /* [192] */ MatcherIndex(27), + /* [193] */ MatcherIndex(2), /* [194] */ MatcherIndex(3), /* [195] */ MatcherIndex(0), - /* [196] */ MatcherIndex(26), - /* [197] */ MatcherIndex(2), - /* [198] */ MatcherIndex(1), + /* [196] */ MatcherIndex(27), + /* [197] */ MatcherIndex(1), + /* [198] */ MatcherIndex(3), /* [199] */ MatcherIndex(0), - /* [200] */ MatcherIndex(25), - /* [201] */ MatcherIndex(0), + /* [200] */ MatcherIndex(27), + /* [201] */ MatcherIndex(2), /* [202] */ MatcherIndex(1), - /* [203] */ MatcherIndex(25), - /* [204] */ MatcherIndex(0), - /* [205] */ MatcherIndex(6), - /* [206] */ MatcherIndex(25), - /* [207] */ MatcherIndex(1), + /* [203] */ MatcherIndex(0), + /* [204] */ MatcherIndex(26), + /* [205] */ MatcherIndex(0), + /* [206] */ MatcherIndex(1), + /* [207] */ MatcherIndex(26), /* [208] */ MatcherIndex(0), - /* [209] */ MatcherIndex(25), - /* [210] */ MatcherIndex(0), - /* [211] */ MatcherIndex(11), - /* [212] */ MatcherIndex(56), - /* [213] */ MatcherIndex(0), - /* [214] */ MatcherIndex(1), - /* [215] */ MatcherIndex(25), - /* [216] */ MatcherIndex(0), - /* [217] */ MatcherIndex(2), - /* [218] */ MatcherIndex(54), - /* [219] */ MatcherIndex(0), - /* [220] */ MatcherIndex(1), - /* [221] */ MatcherIndex(46), - /* [222] */ MatcherIndex(0), - /* [223] */ MatcherIndex(1), - /* [224] */ MatcherIndex(47), - /* [225] */ MatcherIndex(0), - /* [226] */ MatcherIndex(1), - /* [227] */ MatcherIndex(48), - /* [228] */ MatcherIndex(0), - /* [229] */ MatcherIndex(1), - /* [230] */ MatcherIndex(49), - /* [231] */ MatcherIndex(0), - /* [232] */ MatcherIndex(1), - /* [233] */ MatcherIndex(51), - /* [234] */ MatcherIndex(0), - /* [235] */ MatcherIndex(1), - /* [236] */ MatcherIndex(46), - /* [237] */ MatcherIndex(9), - /* [238] */ MatcherIndex(16), - /* [239] */ MatcherIndex(47), - /* [240] */ MatcherIndex(9), - /* [241] */ MatcherIndex(16), - /* [242] */ MatcherIndex(48), - /* [243] */ MatcherIndex(9), - /* [244] */ MatcherIndex(16), - /* [245] */ MatcherIndex(49), - /* [246] */ MatcherIndex(9), - /* [247] */ MatcherIndex(16), - /* [248] */ MatcherIndex(51), - /* [249] */ MatcherIndex(9), - /* [250] */ MatcherIndex(14), - /* [251] */ MatcherIndex(10), - /* [252] */ MatcherIndex(46), - /* [253] */ MatcherIndex(10), - /* [254] */ MatcherIndex(16), - /* [255] */ MatcherIndex(47), - /* [256] */ MatcherIndex(10), - /* [257] */ MatcherIndex(16), - /* [258] */ MatcherIndex(48), - /* [259] */ MatcherIndex(10), - /* [260] */ MatcherIndex(16), - /* [261] */ MatcherIndex(49), - /* [262] */ MatcherIndex(10), - /* [263] */ MatcherIndex(16), - /* [264] */ MatcherIndex(51), - /* [265] */ MatcherIndex(10), - /* [266] */ MatcherIndex(14), - /* [267] */ MatcherIndex(11), - /* [268] */ MatcherIndex(46), - /* [269] */ MatcherIndex(11), - /* [270] */ MatcherIndex(16), - /* [271] */ MatcherIndex(47), - /* [272] */ MatcherIndex(11), - /* [273] */ MatcherIndex(16), - /* [274] */ MatcherIndex(48), - /* [275] */ MatcherIndex(11), - /* [276] */ MatcherIndex(16), - /* [277] */ MatcherIndex(49), - /* [278] */ MatcherIndex(11), - /* [279] */ MatcherIndex(16), - /* [280] */ MatcherIndex(51), - /* [281] */ MatcherIndex(11), - /* [282] */ MatcherIndex(14), - /* [283] */ MatcherIndex(9), - /* [284] */ MatcherIndex(46), - /* [285] */ MatcherIndex(9), - /* [286] */ MatcherIndex(15), - /* [287] */ MatcherIndex(46), - /* [288] */ MatcherIndex(10), - /* [289] */ MatcherIndex(15), - /* [290] */ MatcherIndex(46), - /* [291] */ MatcherIndex(11), - /* [292] */ MatcherIndex(15), - /* [293] */ MatcherIndex(47), - /* [294] */ MatcherIndex(9), - /* [295] */ MatcherIndex(15), - /* [296] */ MatcherIndex(47), - /* [297] */ MatcherIndex(10), - /* [298] */ MatcherIndex(15), - /* [299] */ MatcherIndex(47), - /* [300] */ MatcherIndex(11), - /* [301] */ MatcherIndex(15), - /* [302] */ MatcherIndex(48), - /* [303] */ MatcherIndex(9), - /* [304] */ MatcherIndex(15), - /* [305] */ MatcherIndex(48), - /* [306] */ MatcherIndex(10), - /* [307] */ MatcherIndex(15), - /* [308] */ MatcherIndex(48), - /* [309] */ MatcherIndex(11), - /* [310] */ MatcherIndex(15), - /* [311] */ MatcherIndex(49), - /* [312] */ MatcherIndex(9), - /* [313] */ MatcherIndex(15), - /* [314] */ MatcherIndex(49), - /* [315] */ MatcherIndex(10), - /* [316] */ MatcherIndex(15), - /* [317] */ MatcherIndex(49), - /* [318] */ MatcherIndex(11), - /* [319] */ MatcherIndex(15), - /* [320] */ MatcherIndex(51), - /* [321] */ MatcherIndex(9), - /* [322] */ MatcherIndex(15), - /* [323] */ MatcherIndex(51), - /* [324] */ MatcherIndex(10), - /* [325] */ MatcherIndex(15), - /* [326] */ MatcherIndex(51), - /* [327] */ MatcherIndex(11), - /* [328] */ MatcherIndex(15), - /* [329] */ MatcherIndex(25), - /* [330] */ MatcherIndex(2), - /* [331] */ MatcherIndex(0), - /* [332] */ MatcherIndex(25), - /* [333] */ MatcherIndex(1), - /* [334] */ MatcherIndex(6), - /* [335] */ MatcherIndex(25), - /* [336] */ MatcherIndex(1), - /* [337] */ MatcherIndex(10), - /* [338] */ MatcherIndex(55), - /* [339] */ MatcherIndex(0), - /* [340] */ MatcherIndex(53), - /* [341] */ MatcherIndex(0), - /* [342] */ MatcherIndex(13), - /* [343] */ MatcherIndex(11), - /* [344] */ MatcherIndex(34), - /* [345] */ MatcherIndex(0), - /* [346] */ MatcherIndex(13), - /* [347] */ MatcherIndex(10), - /* [348] */ MatcherIndex(35), - /* [349] */ MatcherIndex(0), - /* [350] */ MatcherIndex(36), - /* [351] */ MatcherIndex(0), - /* [352] */ MatcherIndex(37), - /* [353] */ MatcherIndex(0), - /* [354] */ MatcherIndex(38), + /* [209] */ MatcherIndex(6), + /* [210] */ MatcherIndex(26), + /* [211] */ MatcherIndex(1), + /* [212] */ MatcherIndex(0), + /* [213] */ MatcherIndex(26), + /* [214] */ MatcherIndex(0), + /* [215] */ MatcherIndex(12), + /* [216] */ MatcherIndex(64), + /* [217] */ MatcherIndex(0), + /* [218] */ MatcherIndex(1), + /* [219] */ MatcherIndex(26), + /* [220] */ MatcherIndex(0), + /* [221] */ MatcherIndex(2), + /* [222] */ MatcherIndex(62), + /* [223] */ MatcherIndex(0), + /* [224] */ MatcherIndex(1), + /* [225] */ MatcherIndex(42), + /* [226] */ MatcherIndex(12), + /* [227] */ MatcherIndex(0), + /* [228] */ MatcherIndex(43), + /* [229] */ MatcherIndex(12), + /* [230] */ MatcherIndex(0), + /* [231] */ MatcherIndex(44), + /* [232] */ MatcherIndex(12), + /* [233] */ MatcherIndex(0), + /* [234] */ MatcherIndex(45), + /* [235] */ MatcherIndex(12), + /* [236] */ MatcherIndex(0), + /* [237] */ MatcherIndex(46), + /* [238] */ MatcherIndex(12), + /* [239] */ MatcherIndex(0), + /* [240] */ MatcherIndex(47), + /* [241] */ MatcherIndex(12), + /* [242] */ MatcherIndex(0), + /* [243] */ MatcherIndex(54), + /* [244] */ MatcherIndex(0), + /* [245] */ MatcherIndex(1), + /* [246] */ MatcherIndex(55), + /* [247] */ MatcherIndex(0), + /* [248] */ MatcherIndex(1), + /* [249] */ MatcherIndex(56), + /* [250] */ MatcherIndex(0), + /* [251] */ MatcherIndex(1), + /* [252] */ MatcherIndex(57), + /* [253] */ MatcherIndex(0), + /* [254] */ MatcherIndex(1), + /* [255] */ MatcherIndex(59), + /* [256] */ MatcherIndex(0), + /* [257] */ MatcherIndex(1), + /* [258] */ MatcherIndex(43), + /* [259] */ MatcherIndex(0), + /* [260] */ MatcherIndex(1), + /* [261] */ MatcherIndex(43), + /* [262] */ MatcherIndex(0), + /* [263] */ MatcherIndex(6), + /* [264] */ MatcherIndex(43), + /* [265] */ MatcherIndex(0), + /* [266] */ MatcherIndex(7), + /* [267] */ MatcherIndex(43), + /* [268] */ MatcherIndex(0), + /* [269] */ MatcherIndex(2), + /* [270] */ MatcherIndex(44), + /* [271] */ MatcherIndex(0), + /* [272] */ MatcherIndex(3), + /* [273] */ MatcherIndex(44), + /* [274] */ MatcherIndex(0), + /* [275] */ MatcherIndex(6), + /* [276] */ MatcherIndex(44), + /* [277] */ MatcherIndex(0), + /* [278] */ MatcherIndex(7), + /* [279] */ MatcherIndex(46), + /* [280] */ MatcherIndex(0), + /* [281] */ MatcherIndex(1), + /* [282] */ MatcherIndex(46), + /* [283] */ MatcherIndex(0), + /* [284] */ MatcherIndex(6), + /* [285] */ MatcherIndex(46), + /* [286] */ MatcherIndex(0), + /* [287] */ MatcherIndex(7), + /* [288] */ MatcherIndex(47), + /* [289] */ MatcherIndex(0), + /* [290] */ MatcherIndex(3), + /* [291] */ MatcherIndex(47), + /* [292] */ MatcherIndex(0), + /* [293] */ MatcherIndex(6), + /* [294] */ MatcherIndex(47), + /* [295] */ MatcherIndex(0), + /* [296] */ MatcherIndex(7), + /* [297] */ MatcherIndex(42), + /* [298] */ MatcherIndex(12), + /* [299] */ MatcherIndex(6), + /* [300] */ MatcherIndex(42), + /* [301] */ MatcherIndex(12), + /* [302] */ MatcherIndex(7), + /* [303] */ MatcherIndex(43), + /* [304] */ MatcherIndex(12), + /* [305] */ MatcherIndex(6), + /* [306] */ MatcherIndex(43), + /* [307] */ MatcherIndex(12), + /* [308] */ MatcherIndex(7), + /* [309] */ MatcherIndex(44), + /* [310] */ MatcherIndex(12), + /* [311] */ MatcherIndex(6), + /* [312] */ MatcherIndex(44), + /* [313] */ MatcherIndex(12), + /* [314] */ MatcherIndex(7), + /* [315] */ MatcherIndex(45), + /* [316] */ MatcherIndex(12), + /* [317] */ MatcherIndex(6), + /* [318] */ MatcherIndex(45), + /* [319] */ MatcherIndex(12), + /* [320] */ MatcherIndex(7), + /* [321] */ MatcherIndex(46), + /* [322] */ MatcherIndex(12), + /* [323] */ MatcherIndex(6), + /* [324] */ MatcherIndex(46), + /* [325] */ MatcherIndex(12), + /* [326] */ MatcherIndex(7), + /* [327] */ MatcherIndex(47), + /* [328] */ MatcherIndex(12), + /* [329] */ MatcherIndex(6), + /* [330] */ MatcherIndex(47), + /* [331] */ MatcherIndex(12), + /* [332] */ MatcherIndex(7), + /* [333] */ MatcherIndex(44), + /* [334] */ MatcherIndex(12), + /* [335] */ MatcherIndex(1), + /* [336] */ MatcherIndex(47), + /* [337] */ MatcherIndex(12), + /* [338] */ MatcherIndex(1), + /* [339] */ MatcherIndex(54), + /* [340] */ MatcherIndex(1), + /* [341] */ MatcherIndex(2), + /* [342] */ MatcherIndex(55), + /* [343] */ MatcherIndex(1), + /* [344] */ MatcherIndex(2), + /* [345] */ MatcherIndex(56), + /* [346] */ MatcherIndex(1), + /* [347] */ MatcherIndex(2), + /* [348] */ MatcherIndex(57), + /* [349] */ MatcherIndex(1), + /* [350] */ MatcherIndex(2), + /* [351] */ MatcherIndex(59), + /* [352] */ MatcherIndex(1), + /* [353] */ MatcherIndex(2), + /* [354] */ MatcherIndex(42), /* [355] */ MatcherIndex(0), - /* [356] */ MatcherIndex(39), - /* [357] */ MatcherIndex(0), - /* [358] */ MatcherIndex(40), - /* [359] */ MatcherIndex(0), - /* [360] */ MatcherIndex(13), - /* [361] */ MatcherIndex(9), - /* [362] */ MatcherIndex(34), - /* [363] */ MatcherIndex(11), - /* [364] */ MatcherIndex(35), - /* [365] */ MatcherIndex(11), - /* [366] */ MatcherIndex(36), - /* [367] */ MatcherIndex(11), - /* [368] */ MatcherIndex(37), - /* [369] */ MatcherIndex(11), - /* [370] */ MatcherIndex(38), - /* [371] */ MatcherIndex(11), - /* [372] */ MatcherIndex(39), - /* [373] */ MatcherIndex(11), - /* [374] */ MatcherIndex(13), - /* [375] */ MatcherIndex(0), - /* [376] */ MatcherIndex(13), + /* [356] */ MatcherIndex(3), + /* [357] */ MatcherIndex(43), + /* [358] */ MatcherIndex(0), + /* [359] */ MatcherIndex(3), + /* [360] */ MatcherIndex(44), + /* [361] */ MatcherIndex(0), + /* [362] */ MatcherIndex(4), + /* [363] */ MatcherIndex(45), + /* [364] */ MatcherIndex(0), + /* [365] */ MatcherIndex(3), + /* [366] */ MatcherIndex(42), + /* [367] */ MatcherIndex(12), + /* [368] */ MatcherIndex(1), + /* [369] */ MatcherIndex(43), + /* [370] */ MatcherIndex(12), + /* [371] */ MatcherIndex(1), + /* [372] */ MatcherIndex(45), + /* [373] */ MatcherIndex(12), + /* [374] */ MatcherIndex(1), + /* [375] */ MatcherIndex(46), + /* [376] */ MatcherIndex(12), /* [377] */ MatcherIndex(1), - /* [378] */ MatcherIndex(14), - /* [379] */ MatcherIndex(1), - /* [380] */ MatcherIndex(52), - /* [381] */ MatcherIndex(0), - /* [382] */ MatcherIndex(57), - /* [383] */ MatcherIndex(0), - /* [384] */ MatcherIndex(34), + /* [378] */ MatcherIndex(26), + /* [379] */ MatcherIndex(2), + /* [380] */ MatcherIndex(0), + /* [381] */ MatcherIndex(26), + /* [382] */ MatcherIndex(1), + /* [383] */ MatcherIndex(6), + /* [384] */ MatcherIndex(26), /* [385] */ MatcherIndex(1), - /* [386] */ MatcherIndex(35), - /* [387] */ MatcherIndex(1), - /* [388] */ MatcherIndex(36), - /* [389] */ MatcherIndex(1), - /* [390] */ MatcherIndex(37), - /* [391] */ MatcherIndex(1), - /* [392] */ MatcherIndex(38), - /* [393] */ MatcherIndex(1), - /* [394] */ MatcherIndex(39), - /* [395] */ MatcherIndex(1), - /* [396] */ MatcherIndex(40), - /* [397] */ MatcherIndex(1), - /* [398] */ MatcherIndex(17), - /* [399] */ MatcherIndex(0), - /* [400] */ MatcherIndex(17), - /* [401] */ MatcherIndex(11), - /* [402] */ MatcherIndex(17), - /* [403] */ MatcherIndex(12), - /* [404] */ MatcherIndex(18), - /* [405] */ MatcherIndex(0), - /* [406] */ MatcherIndex(18), - /* [407] */ MatcherIndex(11), - /* [408] */ MatcherIndex(18), - /* [409] */ MatcherIndex(12), - /* [410] */ MatcherIndex(19), - /* [411] */ MatcherIndex(0), - /* [412] */ MatcherIndex(19), - /* [413] */ MatcherIndex(11), - /* [414] */ MatcherIndex(19), - /* [415] */ MatcherIndex(12), - /* [416] */ MatcherIndex(20), - /* [417] */ MatcherIndex(0), - /* [418] */ MatcherIndex(20), - /* [419] */ MatcherIndex(11), - /* [420] */ MatcherIndex(20), - /* [421] */ MatcherIndex(12), - /* [422] */ MatcherIndex(21), - /* [423] */ MatcherIndex(0), - /* [424] */ MatcherIndex(21), - /* [425] */ MatcherIndex(11), - /* [426] */ MatcherIndex(21), - /* [427] */ MatcherIndex(12), - /* [428] */ MatcherIndex(22), - /* [429] */ MatcherIndex(0), - /* [430] */ MatcherIndex(22), - /* [431] */ MatcherIndex(11), - /* [432] */ MatcherIndex(22), - /* [433] */ MatcherIndex(12), - /* [434] */ MatcherIndex(23), - /* [435] */ MatcherIndex(0), - /* [436] */ MatcherIndex(23), - /* [437] */ MatcherIndex(11), - /* [438] */ MatcherIndex(23), - /* [439] */ MatcherIndex(12), - /* [440] */ MatcherIndex(24), - /* [441] */ MatcherIndex(0), - /* [442] */ MatcherIndex(24), - /* [443] */ MatcherIndex(11), - /* [444] */ MatcherIndex(24), - /* [445] */ MatcherIndex(12), - /* [446] */ MatcherIndex(67), - /* [447] */ MatcherIndex(71), - /* [448] */ MatcherIndex(72), - /* [449] */ MatcherIndex(61), - /* [450] */ MatcherIndex(69), - /* [451] */ MatcherIndex(68), - /* [452] */ MatcherIndex(41), - /* [453] */ MatcherIndex(42), - /* [454] */ MatcherIndex(43), - /* [455] */ MatcherIndex(44), - /* [456] */ MatcherIndex(45), - /* [457] */ MatcherIndex(50), - /* [458] */ MatcherIndex(32), - /* [459] */ MatcherIndex(33), - /* [460] */ MatcherIndex(73), - /* [461] */ MatcherIndex(74), - /* [462] */ MatcherIndex(64), - /* [463] */ MatcherIndex(65), - /* [464] */ MatcherIndex(62), - /* [465] */ MatcherIndex(63), - /* [466] */ MatcherIndex(66), - /* [467] */ MatcherIndex(75), + /* [386] */ MatcherIndex(11), + /* [387] */ MatcherIndex(15), + /* [388] */ MatcherIndex(0), + /* [389] */ MatcherIndex(63), + /* [390] */ MatcherIndex(0), + /* [391] */ MatcherIndex(61), + /* [392] */ MatcherIndex(0), + /* [393] */ MatcherIndex(14), + /* [394] */ MatcherIndex(12), + /* [395] */ MatcherIndex(16), + /* [396] */ MatcherIndex(12), + /* [397] */ MatcherIndex(16), + /* [398] */ MatcherIndex(10), + /* [399] */ MatcherIndex(16), + /* [400] */ MatcherIndex(11), + /* [401] */ MatcherIndex(36), + /* [402] */ MatcherIndex(0), + /* [403] */ MatcherIndex(14), + /* [404] */ MatcherIndex(11), + /* [405] */ MatcherIndex(37), + /* [406] */ MatcherIndex(0), + /* [407] */ MatcherIndex(38), + /* [408] */ MatcherIndex(0), + /* [409] */ MatcherIndex(15), + /* [410] */ MatcherIndex(11), + /* [411] */ MatcherIndex(39), + /* [412] */ MatcherIndex(0), + /* [413] */ MatcherIndex(40), + /* [414] */ MatcherIndex(0), + /* [415] */ MatcherIndex(41), + /* [416] */ MatcherIndex(0), + /* [417] */ MatcherIndex(48), + /* [418] */ MatcherIndex(0), + /* [419] */ MatcherIndex(16), + /* [420] */ MatcherIndex(0), + /* [421] */ MatcherIndex(35), + /* [422] */ MatcherIndex(2), + /* [423] */ MatcherIndex(35), + /* [424] */ MatcherIndex(1), + /* [425] */ MatcherIndex(35), + /* [426] */ MatcherIndex(9), + /* [427] */ MatcherIndex(14), + /* [428] */ MatcherIndex(10), + /* [429] */ MatcherIndex(35), + /* [430] */ MatcherIndex(3), + /* [431] */ MatcherIndex(15), + /* [432] */ MatcherIndex(12), + /* [433] */ MatcherIndex(36), + /* [434] */ MatcherIndex(12), + /* [435] */ MatcherIndex(35), + /* [436] */ MatcherIndex(0), + /* [437] */ MatcherIndex(37), + /* [438] */ MatcherIndex(12), + /* [439] */ MatcherIndex(38), + /* [440] */ MatcherIndex(12), + /* [441] */ MatcherIndex(39), + /* [442] */ MatcherIndex(12), + /* [443] */ MatcherIndex(15), + /* [444] */ MatcherIndex(10), + /* [445] */ MatcherIndex(40), + /* [446] */ MatcherIndex(12), + /* [447] */ MatcherIndex(41), + /* [448] */ MatcherIndex(12), + /* [449] */ MatcherIndex(15), + /* [450] */ MatcherIndex(1), + /* [451] */ MatcherIndex(60), + /* [452] */ MatcherIndex(0), + /* [453] */ MatcherIndex(65), + /* [454] */ MatcherIndex(0), + /* [455] */ MatcherIndex(36), + /* [456] */ MatcherIndex(1), + /* [457] */ MatcherIndex(37), + /* [458] */ MatcherIndex(1), + /* [459] */ MatcherIndex(38), + /* [460] */ MatcherIndex(1), + /* [461] */ MatcherIndex(39), + /* [462] */ MatcherIndex(1), + /* [463] */ MatcherIndex(40), + /* [464] */ MatcherIndex(1), + /* [465] */ MatcherIndex(41), + /* [466] */ MatcherIndex(1), + /* [467] */ MatcherIndex(48), + /* [468] */ MatcherIndex(1), + /* [469] */ MatcherIndex(16), + /* [470] */ MatcherIndex(1), + /* [471] */ MatcherIndex(17), + /* [472] */ MatcherIndex(0), + /* [473] */ MatcherIndex(17), + /* [474] */ MatcherIndex(12), + /* [475] */ MatcherIndex(17), + /* [476] */ MatcherIndex(13), + /* [477] */ MatcherIndex(18), + /* [478] */ MatcherIndex(0), + /* [479] */ MatcherIndex(18), + /* [480] */ MatcherIndex(12), + /* [481] */ MatcherIndex(18), + /* [482] */ MatcherIndex(13), + /* [483] */ MatcherIndex(19), + /* [484] */ MatcherIndex(0), + /* [485] */ MatcherIndex(19), + /* [486] */ MatcherIndex(12), + /* [487] */ MatcherIndex(19), + /* [488] */ MatcherIndex(13), + /* [489] */ MatcherIndex(20), + /* [490] */ MatcherIndex(13), + /* [491] */ MatcherIndex(23), + /* [492] */ MatcherIndex(0), + /* [493] */ MatcherIndex(23), + /* [494] */ MatcherIndex(12), + /* [495] */ MatcherIndex(23), + /* [496] */ MatcherIndex(13), + /* [497] */ MatcherIndex(24), + /* [498] */ MatcherIndex(0), + /* [499] */ MatcherIndex(24), + /* [500] */ MatcherIndex(12), + /* [501] */ MatcherIndex(24), + /* [502] */ MatcherIndex(13), + /* [503] */ MatcherIndex(25), + /* [504] */ MatcherIndex(0), + /* [505] */ MatcherIndex(25), + /* [506] */ MatcherIndex(12), + /* [507] */ MatcherIndex(25), + /* [508] */ MatcherIndex(13), + /* [509] */ MatcherIndex(76), + /* [510] */ MatcherIndex(80), + /* [511] */ MatcherIndex(81), + /* [512] */ MatcherIndex(70), + /* [513] */ MatcherIndex(78), + /* [514] */ MatcherIndex(77), + /* [515] */ MatcherIndex(49), + /* [516] */ MatcherIndex(50), + /* [517] */ MatcherIndex(51), + /* [518] */ MatcherIndex(52), + /* [519] */ MatcherIndex(53), + /* [520] */ MatcherIndex(58), + /* [521] */ MatcherIndex(33), + /* [522] */ MatcherIndex(34), + /* [523] */ MatcherIndex(82), + /* [524] */ MatcherIndex(83), + /* [525] */ MatcherIndex(73), + /* [526] */ MatcherIndex(74), + /* [527] */ MatcherIndex(71), + /* [528] */ MatcherIndex(72), + /* [529] */ MatcherIndex(75), + /* [530] */ MatcherIndex(84), }; static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices), @@ -2355,2607 +2724,6044 @@ constexpr ParameterInfo kParameters[] = { { /* [0] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(47), }, { /* [1] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [2] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [3] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [4] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [5] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [6] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [7] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [8] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [9] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [10] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [11] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [12] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [13] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [14] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [15] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [16] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [17] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(17), }, { /* [18] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(17), }, { /* [19] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(366), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [20] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [21] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [22] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [23] */ /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(342), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [24] */ /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(342), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [25] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [26] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [27] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(350), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [28] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [29] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [30] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [31] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [32] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(453), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [33] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(459), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [34] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [35] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [36] */ - /* usage */ core::ParameterUsage::kDepthRef, + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [37] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [38] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(366), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [39] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [40] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [41] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [42] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [43] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), - }, - { - /* [44] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(364), - }, - { - /* [45] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), - }, - { - /* [46] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), - }, - { - /* [47] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(342), - }, - { - /* [48] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(342), - }, - { - /* [49] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), - }, - { - /* [50] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(368), - }, - { - /* [51] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), - }, - { - /* [52] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), - }, - { - /* [53] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(266), - }, - { - /* [54] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(266), - }, - { - /* [55] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(282), - }, - { - /* [56] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(372), - }, - { - /* [57] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), - }, - { - /* [58] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), - }, - { - /* [59] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [60] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(266), - }, - { - /* [61] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(266), - }, - { - /* [62] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(366), - }, - { - /* [63] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), - }, - { - /* [64] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), - }, - { - /* [65] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [66] */ - /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(6), }, { - /* [67] */ + /* [44] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [45] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [46] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [47] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(312), + }, + { + /* [48] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [49] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [50] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [51] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [52] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [53] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [54] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [55] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(407), + }, + { + /* [56] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [57] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [58] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [59] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [60] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [61] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(407), + }, + { + /* [62] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), + }, + { + /* [63] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [64] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [65] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [66] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [67] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(270), }, { /* [68] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(453), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [69] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [70] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [71] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [72] */ - /* usage */ core::ParameterUsage::kLevel, + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, /* matcher_indices */ MatcherIndicesIndex(24), }, { /* [73] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(273), }, { /* [74] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), }, { /* [75] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(348), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [76] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [77] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [78] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), - }, - { - /* [79] */ /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, /* matcher_indices */ MatcherIndicesIndex(24), }, { - /* [80] */ + /* [79] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(356), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(276), + }, + { + /* [80] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [81] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [82] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [83] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [84] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(453), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(516), }, { /* [85] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(522), }, { /* [86] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [87] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [88] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [89] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(452), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [90] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(459), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [91] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [92] */ - /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [93] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [94] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(455), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [95] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(459), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [96] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [97] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [98] */ - /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [99] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(366), - }, - { - /* [100] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), - }, - { - /* [101] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), - }, - { - /* [102] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [103] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), - }, - { - /* [104] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(364), - }, - { - /* [105] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), - }, - { - /* [106] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), - }, - { - /* [107] */ - /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(6), }, { - /* [108] */ + /* [100] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [101] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [102] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(333), + }, + { + /* [103] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [104] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [105] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [106] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [107] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [108] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [109] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(368), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [110] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [111] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [112] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(6), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [113] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(282), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [114] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(372), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(312), }, { /* [115] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [116] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [117] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [118] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(6), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [119] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(370), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [120] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), }, { /* [121] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [122] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [123] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [124] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(364), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [125] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [126] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), }, { /* [127] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [128] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [129] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(368), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [130] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [131] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [132] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [133] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(282), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [134] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(372), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [135] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [136] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [137] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [138] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [139] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(452), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [140] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [141] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [142] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [143] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [144] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(455), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(306), }, { /* [145] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [146] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [147] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [148] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [149] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(75), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [150] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), }, { /* [151] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [152] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [153] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [154] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [155] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [156] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), }, { /* [157] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [158] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [159] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(85), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [160] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [161] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [162] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(234), }, { /* [163] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [164] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(90), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [165] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [166] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [167] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [168] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(315), }, { /* [169] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(28), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [170] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [171] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [172] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [173] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [174] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(35), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(318), }, { /* [175] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [176] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [177] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [178] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [179] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [180] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [181] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [182] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [183] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [184] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(354), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [185] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [186] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [187] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(452), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [188] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [189] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [190] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [191] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(454), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [192] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(459), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(336), }, { /* [193] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [194] */ - /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [195] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(364), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [196] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [197] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [198] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(360), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [199] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(368), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [200] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [201] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [202] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(282), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [203] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(370), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [204] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(330), }, { /* [205] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [206] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [207] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(362), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [208] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [209] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [210] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [211] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(370), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [212] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [213] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [214] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(6), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [215] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(454), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [216] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [217] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(266), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [218] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [219] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(242), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [220] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [221] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [222] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(5), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(333), }, { /* [223] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(258), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [224] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [225] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [226] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(12), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [227] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(274), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [228] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [229] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [230] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [231] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(350), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [232] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(376), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [233] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [234] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(56), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(312), }, { /* [235] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(453), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [236] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [237] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [238] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [239] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(58), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [240] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(516), }, { /* [241] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [242] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [243] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(0), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [244] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [245] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), - }, - { - /* [246] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [247] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(64), - }, - { - /* [248] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [249] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), - }, - { - /* [250] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [251] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(70), - }, - { - /* [252] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [253] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), - }, - { - /* [254] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [255] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(7), - }, - { - /* [256] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [257] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), - }, - { - /* [258] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [259] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(14), - }, - { - /* [260] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [261] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), - }, - { - /* [262] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [263] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [264] */ - /* usage */ core::ParameterUsage::kY, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [265] */ - /* usage */ core::ParameterUsage::kZ, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [266] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [267] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(374), - }, - { - /* [268] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(374), - }, - { - /* [269] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(374), - }, - { - /* [270] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(374), - }, - { - /* [271] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(51), - }, - { - /* [272] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(51), - }, - { - /* [273] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(51), - }, - { - /* [274] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(51), - }, - { - /* [275] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(62), - }, - { - /* [276] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(62), - }, - { - /* [277] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(62), - }, - { - /* [278] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(62), - }, - { - /* [279] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(206), - }, - { - /* [280] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(206), - }, - { - /* [281] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(206), - }, - { - /* [282] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), - }, - { - /* [283] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), - }, - { - /* [284] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), - }, - { - /* [285] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), - }, - { - /* [286] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), - }, - { - /* [287] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(24), }, + { + /* [245] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [246] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [247] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(405), + }, + { + /* [248] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [249] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [250] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [251] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [252] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(405), + }, + { + /* [253] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [254] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [255] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [256] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [257] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(267), + }, + { + /* [258] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [259] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [260] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [261] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [262] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(261), + }, + { + /* [263] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [264] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [265] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [266] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [267] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(264), + }, + { + /* [268] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [269] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [270] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [271] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [272] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(415), + }, + { + /* [273] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [274] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [275] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [276] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [277] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(415), + }, + { + /* [278] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), + }, + { + /* [279] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [280] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [281] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [282] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(288), + }, + { + /* [283] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [284] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [285] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [286] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [287] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(291), + }, { /* [288] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), }, { /* [289] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [290] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(101), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [291] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), }, { /* [292] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(294), }, { /* [293] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(203), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [294] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(203), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [295] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(457), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), }, { /* [296] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(458), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(516), }, { /* [297] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [298] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(236), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [299] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [300] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(5), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [301] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(239), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(515), }, { /* [302] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(522), }, { /* [303] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(5), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [304] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(245), + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [305] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [306] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(5), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(518), }, { /* [307] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(248), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(522), }, { /* [308] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [309] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(5), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [310] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(252), + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [311] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [312] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(12), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [313] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(255), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [314] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [315] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(12), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [316] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(261), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), }, { /* [317] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [318] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(12), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [319] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(264), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), }, { /* [320] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [321] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(12), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(231), }, { /* [322] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(268), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [323] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [324] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), }, { /* [325] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(271), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [326] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(309), }, { /* [327] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [328] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(277), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [329] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), }, { /* [330] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [331] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(280), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(312), }, { /* [332] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [333] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [334] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(344), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [335] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [336] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), }, { /* [337] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(348), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [338] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(376), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [339] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [340] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(352), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [341] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(378), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), }, { /* [342] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [343] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(358), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [344] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(376), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [345] */ - /* usage */ core::ParameterUsage::kSampleIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [346] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(452), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [347] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [348] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [349] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(456), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [350] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [351] */ - /* usage */ core::ParameterUsage::kSampleIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [352] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(302), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [353] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [354] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [355] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(305), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [356] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(306), }, { /* [357] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [358] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(308), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [359] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [360] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [361] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(115), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), }, { /* [362] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(120), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [363] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(110), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [364] */ - /* usage */ core::ParameterUsage::kXy, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [365] */ - /* usage */ core::ParameterUsage::kZ, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [366] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), }, { /* [367] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [368] */ - /* usage */ core::ParameterUsage::kYz, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [369] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [370] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [371] */ - /* usage */ core::ParameterUsage::kY, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(234), }, { /* [372] */ - /* usage */ core::ParameterUsage::kZw, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [373] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [374] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [375] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [376] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(215), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(315), }, { /* [377] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(344), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [378] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [379] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(348), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [380] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [381] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(350), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(318), }, { /* [382] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [383] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(352), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [384] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [385] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(354), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [386] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [387] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(356), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [388] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [389] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(452), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [390] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [391] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(453), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [392] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [393] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(454), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [394] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [395] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(455), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [396] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(336), }, { /* [397] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(457), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [398] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [399] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(284), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [400] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [401] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(287), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [402] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [403] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(290), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [404] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [405] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(293), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [406] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(330), }, { /* [407] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(296), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [408] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [409] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(299), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [410] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [411] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(311), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [412] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [413] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(314), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [414] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [415] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [416] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [417] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(320), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [418] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [419] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(323), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [420] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [421] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(326), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(237), }, { /* [422] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [423] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [424] */ - /* usage */ core::ParameterUsage::kSourceLaneIndex, - /* matcher_indices */ MatcherIndicesIndex(448), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [425] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [426] */ - /* usage */ core::ParameterUsage::kSourceLaneIndex, - /* matcher_indices */ MatcherIndicesIndex(448), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(321), }, { /* [427] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [428] */ - /* usage */ core::ParameterUsage::kMask, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [429] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [430] */ - /* usage */ core::ParameterUsage::kMask, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [431] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(321), }, { /* [432] */ - /* usage */ core::ParameterUsage::kDelta, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [433] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [434] */ - /* usage */ core::ParameterUsage::kDelta, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [435] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [436] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(448), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), }, { /* [437] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(200), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [438] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(448), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [439] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(100), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [440] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(105), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [441] */ - /* usage */ core::ParameterUsage::kM, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), }, { /* [442] */ - /* usage */ core::ParameterUsage::kS, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [443] */ - /* usage */ core::ParameterUsage::kM, - /* matcher_indices */ MatcherIndicesIndex(125), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [444] */ - /* usage */ core::ParameterUsage::kS, - /* matcher_indices */ MatcherIndicesIndex(10), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [445] */ - /* usage */ core::ParameterUsage::kM, - /* matcher_indices */ MatcherIndicesIndex(130), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [446] */ - /* usage */ core::ParameterUsage::kS, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(228), }, { /* [447] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(176), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [448] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(56), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [449] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(135), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [450] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(56), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [451] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(206), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(303), }, { /* [452] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [453] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(206), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [454] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(335), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [455] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(184), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [456] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(184), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(306), }, { /* [457] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [458] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(184), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [459] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(206), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [460] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(329), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [461] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(184), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), }, { /* [462] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(192), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [463] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(196), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [464] */ - /* usage */ core::ParameterUsage::kXy, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [465] */ - /* usage */ core::ParameterUsage::kZw, - /* matcher_indices */ MatcherIndicesIndex(374), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [466] */ - /* usage */ core::ParameterUsage::kXyz, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), }, { /* [467] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [468] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [469] */ - /* usage */ core::ParameterUsage::kZyw, - /* matcher_indices */ MatcherIndicesIndex(51), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [470] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [471] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(160), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(234), }, { /* [472] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(6), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [473] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(209), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [474] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(342), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [475] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(5), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [476] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(12), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(315), }, { /* [477] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), }, { /* [478] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(168), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [479] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(221), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [480] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(224), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [481] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(227), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(318), }, { /* [482] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(230), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [483] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(233), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [484] */ - /* usage */ core::ParameterUsage::kInputAttachment, - /* matcher_indices */ MatcherIndicesIndex(380), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [485] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(180), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [486] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(140), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [487] */ - /* usage */ core::ParameterUsage::kIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [488] */ - /* usage */ core::ParameterUsage::kIndex, - /* matcher_indices */ MatcherIndicesIndex(24), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [489] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(10), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [490] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [491] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(376), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [492] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(378), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [493] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(68), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [494] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(26), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [495] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(33), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [496] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(336), }, { /* [497] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(398), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [498] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(400), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [499] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(402), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [500] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(404), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [501] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(406), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(327), }, { /* [502] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), }, { /* [503] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(410), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [504] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(412), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [505] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(414), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [506] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(416), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(330), }, { /* [507] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(418), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [508] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(420), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [509] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(422), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [510] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(424), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), }, { /* [511] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(426), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(515), }, { /* [512] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(428), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [513] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(430), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), }, { /* [514] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(432), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [515] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(434), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), }, { /* [516] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(436), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(518), }, { /* [517] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(438), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), }, { /* [518] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(440), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), }, { /* [519] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(442), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [520] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [521] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(444), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(79), + }, + { + /* [522] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [523] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(84), + }, + { + /* [524] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [525] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [526] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(21), + }, + { + /* [527] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [528] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(84), + }, + { + /* [529] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [530] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [531] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(89), + }, + { + /* [532] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [533] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(84), + }, + { + /* [534] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [535] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [536] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(94), + }, + { + /* [537] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [538] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(84), + }, + { + /* [539] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [540] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [541] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(28), + }, + { + /* [542] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [543] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(84), + }, + { + /* [544] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [545] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [546] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(35), + }, + { + /* [547] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [548] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(84), + }, + { + /* [549] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [550] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [551] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [552] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [553] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [554] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [555] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [556] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(258), + }, + { + /* [557] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [558] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [559] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [560] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(261), + }, + { + /* [561] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [562] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [563] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [564] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(413), + }, + { + /* [565] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [566] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [567] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [568] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(413), + }, + { + /* [569] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [570] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [571] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [572] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(279), + }, + { + /* [573] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [574] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [575] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [576] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(282), + }, + { + /* [577] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [578] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [579] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [580] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(285), + }, + { + /* [581] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [582] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [583] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(515), + }, + { + /* [584] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [585] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [586] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [587] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(517), + }, + { + /* [588] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(522), + }, + { + /* [589] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [590] */ + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [591] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), + }, + { + /* [592] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [593] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [594] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [595] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), + }, + { + /* [596] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [597] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [598] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [599] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(228), + }, + { + /* [600] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [601] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [602] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [603] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(303), + }, + { + /* [604] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [605] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [606] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [607] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(306), + }, + { + /* [608] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [609] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [610] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [611] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), + }, + { + /* [612] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [613] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [614] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [615] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), + }, + { + /* [616] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [617] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [618] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [619] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(234), + }, + { + /* [620] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [621] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [622] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [623] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(315), + }, + { + /* [624] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [625] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [626] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [627] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(318), + }, + { + /* [628] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [629] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [630] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [631] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [632] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [633] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [634] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [635] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(240), + }, + { + /* [636] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [637] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [638] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [639] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(327), + }, + { + /* [640] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [641] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [642] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [643] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [644] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [645] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [646] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [647] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [648] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [649] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [650] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [651] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(237), + }, + { + /* [652] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [653] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [654] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [655] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(321), + }, + { + /* [656] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [657] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [658] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [659] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(324), + }, + { + /* [660] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [661] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [662] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [663] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(433), + }, + { + /* [664] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [665] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [666] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [667] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(433), + }, + { + /* [668] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [669] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [670] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [671] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(225), + }, + { + /* [672] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [673] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [674] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [675] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(297), + }, + { + /* [676] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [677] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [678] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [679] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(300), + }, + { + /* [680] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [681] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [682] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [683] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [684] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [685] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [686] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [687] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [688] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [689] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [690] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [691] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(237), + }, + { + /* [692] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [693] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [694] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [695] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(321), + }, + { + /* [696] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [697] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [698] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [699] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(324), + }, + { + /* [700] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [701] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [702] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [703] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(517), + }, + { + /* [704] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [705] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(431), + }, + { + /* [706] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [707] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(345), + }, + { + /* [708] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [709] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(62), + }, + { + /* [710] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(395), + }, + { + /* [711] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(345), + }, + { + /* [712] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [713] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(62), + }, + { + /* [714] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(397), + }, + { + /* [715] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(345), + }, + { + /* [716] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [717] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(62), + }, + { + /* [718] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(399), + }, + { + /* [719] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(407), + }, + { + /* [720] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(115), + }, + { + /* [721] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [722] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(62), + }, + { + /* [723] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(360), + }, + { + /* [724] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(115), + }, + { + /* [725] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [726] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(62), + }, + { + /* [727] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(516), + }, + { + /* [728] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [729] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [730] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [731] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(64), + }, + { + /* [732] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [733] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [734] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [735] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(0), + }, + { + /* [736] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [737] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [738] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [739] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(69), + }, + { + /* [740] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [741] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [742] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [743] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(74), + }, + { + /* [744] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [745] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [746] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [747] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(7), + }, + { + /* [748] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [749] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [750] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [751] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(14), + }, + { + /* [752] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [753] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [754] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [755] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [756] */ + /* usage */ core::ParameterUsage::kY, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [757] */ + /* usage */ core::ParameterUsage::kZ, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [758] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [759] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [760] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [761] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [762] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [763] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [764] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [765] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [766] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [767] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [768] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [769] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [770] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [771] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [772] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [773] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [774] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [775] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [776] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [777] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [778] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [779] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [780] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [781] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [782] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(209), + }, + { + /* [783] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [784] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [785] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(207), + }, + { + /* [786] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(207), + }, + { + /* [787] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(520), + }, + { + /* [788] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [789] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [790] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(339), + }, + { + /* [791] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [792] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(395), + }, + { + /* [793] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(342), + }, + { + /* [794] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [795] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(395), + }, + { + /* [796] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(348), + }, + { + /* [797] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [798] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(395), + }, + { + /* [799] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(351), + }, + { + /* [800] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [801] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(395), + }, + { + /* [802] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(339), + }, + { + /* [803] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [804] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(397), + }, + { + /* [805] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(342), + }, + { + /* [806] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [807] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(397), + }, + { + /* [808] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(348), + }, + { + /* [809] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [810] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(397), + }, + { + /* [811] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(351), + }, + { + /* [812] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [813] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(397), + }, + { + /* [814] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(339), + }, + { + /* [815] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [816] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(399), + }, + { + /* [817] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(342), + }, + { + /* [818] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [819] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(399), + }, + { + /* [820] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(348), + }, + { + /* [821] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [822] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(399), + }, + { + /* [823] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(351), + }, + { + /* [824] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [825] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(399), + }, + { + /* [826] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(401), + }, + { + /* [827] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [828] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [829] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(405), + }, + { + /* [830] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(115), + }, + { + /* [831] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [832] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [833] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [834] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [835] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(354), + }, + { + /* [836] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [837] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [838] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(357), + }, + { + /* [839] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(115), + }, + { + /* [840] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [841] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(363), + }, + { + /* [842] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [843] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [844] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [845] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(115), + }, + { + /* [846] */ + /* usage */ core::ParameterUsage::kSampleIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [847] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(515), + }, + { + /* [848] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [849] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [850] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(519), + }, + { + /* [851] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [852] */ + /* usage */ core::ParameterUsage::kSampleIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [853] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(119), + }, + { + /* [854] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(124), + }, + { + /* [855] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(114), + }, + { + /* [856] */ + /* usage */ core::ParameterUsage::kXy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [857] */ + /* usage */ core::ParameterUsage::kZ, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [858] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [859] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [860] */ + /* usage */ core::ParameterUsage::kYz, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [861] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [862] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [863] */ + /* usage */ core::ParameterUsage::kY, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [864] */ + /* usage */ core::ParameterUsage::kZw, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [865] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [866] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [867] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [868] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(219), + }, + { + /* [869] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(401), + }, + { + /* [870] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [871] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(405), + }, + { + /* [872] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [873] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(407), + }, + { + /* [874] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [875] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [876] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [877] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(413), + }, + { + /* [878] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [879] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(415), + }, + { + /* [880] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [881] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(225), + }, + { + /* [882] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [883] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(228), + }, + { + /* [884] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [885] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(231), + }, + { + /* [886] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [887] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(234), + }, + { + /* [888] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [889] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(237), + }, + { + /* [890] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [891] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(240), + }, + { + /* [892] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [893] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(515), + }, + { + /* [894] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [895] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(516), + }, + { + /* [896] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [897] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(517), + }, + { + /* [898] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [899] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(518), + }, + { + /* [900] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [901] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(520), + }, + { + /* [902] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [903] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(53), + }, + { + /* [904] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(56), + }, + { + /* [905] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [906] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(511), + }, + { + /* [907] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [908] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(511), + }, + { + /* [909] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [910] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(511), + }, + { + /* [911] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [912] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(511), + }, + { + /* [913] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [914] */ + /* usage */ core::ParameterUsage::kMask, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [915] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [916] */ + /* usage */ core::ParameterUsage::kMask, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [917] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [918] */ + /* usage */ core::ParameterUsage::kDelta, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [919] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [920] */ + /* usage */ core::ParameterUsage::kDelta, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [921] */ + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [922] */ + /* usage */ core::ParameterUsage::kId, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(511), + }, + { + /* [923] */ + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [924] */ + /* usage */ core::ParameterUsage::kId, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(511), + }, + { + /* [925] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(104), + }, + { + /* [926] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(109), + }, + { + /* [927] */ + /* usage */ core::ParameterUsage::kM, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(84), + }, + { + /* [928] */ + /* usage */ core::ParameterUsage::kS, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [929] */ + /* usage */ core::ParameterUsage::kM, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(129), + }, + { + /* [930] */ + /* usage */ core::ParameterUsage::kS, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [931] */ + /* usage */ core::ParameterUsage::kM, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(134), + }, + { + /* [932] */ + /* usage */ core::ParameterUsage::kS, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [933] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [934] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(62), + }, + { + /* [935] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(139), + }, + { + /* [936] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(62), + }, + { + /* [937] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [938] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [939] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [940] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(384), + }, + { + /* [941] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(188), + }, + { + /* [942] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(188), + }, + { + /* [943] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [944] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(188), + }, + { + /* [945] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [946] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(378), + }, + { + /* [947] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(188), + }, + { + /* [948] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(196), + }, + { + /* [949] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), + }, + { + /* [950] */ + /* usage */ core::ParameterUsage::kXy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [951] */ + /* usage */ core::ParameterUsage::kZw, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [952] */ + /* usage */ core::ParameterUsage::kXyz, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [953] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [954] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [955] */ + /* usage */ core::ParameterUsage::kZyw, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(387), + }, + { + /* [956] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(42), + }, + { + /* [957] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(164), + }, + { + /* [958] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(13), + }, + { + /* [959] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [960] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(393), + }, + { + /* [961] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(395), + }, + { + /* [962] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(397), + }, + { + /* [963] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(399), + }, + { + /* [964] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(172), + }, + { + /* [965] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(243), + }, + { + /* [966] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(246), + }, + { + /* [967] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(249), + }, + { + /* [968] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(252), + }, + { + /* [969] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(255), + }, + { + /* [970] */ + /* usage */ core::ParameterUsage::kInputAttachment, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(451), + }, + { + /* [971] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(184), + }, + { + /* [972] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(144), + }, + { + /* [973] */ + /* usage */ core::ParameterUsage::kIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [974] */ + /* usage */ core::ParameterUsage::kIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(24), + }, + { + /* [975] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [976] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [977] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(115), + }, + { + /* [978] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [979] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), + }, + { + /* [980] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [981] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(473), + }, + { + /* [982] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(475), + }, + { + /* [983] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(477), + }, + { + /* [984] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(479), + }, + { + /* [985] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(481), + }, + { + /* [986] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(483), + }, + { + /* [987] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(485), + }, + { + /* [988] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(487), + }, + { + /* [989] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(51), + }, + { + /* [990] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(57), + }, + { + /* [991] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(489), + }, + { + /* [992] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(5), + }, + { + /* [993] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(12), + }, + { + /* [994] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(19), + }, + { + /* [995] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(26), + }, + { + /* [996] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(33), + }, + { + /* [997] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), + }, + { + /* [998] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(491), + }, + { + /* [999] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(493), + }, + { + /* [1000] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(495), + }, + { + /* [1001] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(497), + }, + { + /* [1002] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(499), + }, + { + /* [1003] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(501), + }, + { + /* [1004] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(503), + }, + { + /* [1005] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(505), + }, + { + /* [1006] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(507), }, }; @@ -4966,7 +8772,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [0] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(53), + /* matcher_indices */ MatcherIndicesIndex(59), /* kind */ TemplateInfo::Kind::kType, }, { @@ -4978,7 +8784,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [2] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(446), + /* matcher_indices */ MatcherIndicesIndex(509), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5002,7 +8808,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [6] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(53), + /* matcher_indices */ MatcherIndicesIndex(59), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5014,7 +8820,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [8] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(106), + /* matcher_indices */ MatcherIndicesIndex(131), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5038,7 +8844,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [12] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(53), + /* matcher_indices */ MatcherIndicesIndex(59), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5050,7 +8856,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [14] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(96), + /* matcher_indices */ MatcherIndicesIndex(136), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5073,136 +8879,136 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [18] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(447), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), /* kind */ TemplateInfo::Kind::kType, }, { /* [19] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(41), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [20] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, }, { /* [21] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, }, { /* [22] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [23] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(446), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [24] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [25] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [26] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(6), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, + { + /* [26] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, { /* [27] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(6), + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(510), /* kind */ TemplateInfo::Kind::kType, }, { /* [28] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), + /* kind */ TemplateInfo::Kind::kType, }, { /* [29] */ - /* name */ "R", + /* name */ "C", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [30] */ - /* name */ "K", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [31] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [32] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [33] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(460), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [34] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(461), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [35] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [36] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [37] */ /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [38] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(448), + /* [32] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(509), /* kind */ TemplateInfo::Kind::kType, }, { - /* [39] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(448), + /* [33] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [34] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [35] */ + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(13), /* kind */ TemplateInfo::Kind::kType, }, + { + /* [36] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [37] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [38] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [39] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, { /* [40] */ /* name */ "C", @@ -5217,206 +9023,206 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [42] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(523), + /* kind */ TemplateInfo::Kind::kType, }, { /* [43] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(41), + /* matcher_indices */ MatcherIndicesIndex(524), /* kind */ TemplateInfo::Kind::kType, }, { /* [44] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(447), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [45] */ - /* name */ "C", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [46] */ - /* name */ "R", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [47] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, }, { /* [48] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [49] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(6), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [50] */ - /* name */ "C", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [51] */ - /* name */ "R", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [52] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), + /* kind */ TemplateInfo::Kind::kType, }, { /* [53] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(461), + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(510), /* kind */ TemplateInfo::Kind::kType, }, { /* [54] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(460), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [55] */ - /* name */ "C", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [56] */ - /* name */ "R", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [57] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), + /* kind */ TemplateInfo::Kind::kType, }, { /* [58] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(448), + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(13), /* kind */ TemplateInfo::Kind::kType, }, { /* [59] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [60] */ /* name */ "C", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [61] */ + /* [60] */ /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [62] */ + /* [61] */ /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [63] */ + /* [62] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* matcher_indices */ MatcherIndicesIndex(524), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [63] */ + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(523), /* kind */ TemplateInfo::Kind::kType, }, { /* [64] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(41), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [65] */ - /* name */ "AS", - /* matcher_indices */ MatcherIndicesIndex(410), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [66] */ - /* name */ "O", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [67] */ - /* name */ "N", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [68] */ + /* [67] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(447), + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [68] */ + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [69] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(10), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [70] */ - /* name */ "T", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kType, + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [71] */ - /* name */ "W", - /* matcher_indices */ MatcherIndicesIndex(51), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [72] */ - /* name */ "AS", - /* matcher_indices */ MatcherIndicesIndex(1), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [73] */ - /* name */ "O", - /* matcher_indices */ MatcherIndicesIndex(448), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kType, }, + { + /* [73] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(477), + /* kind */ TemplateInfo::Kind::kNumber, + }, { /* [74] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "AS", + /* matcher_indices */ MatcherIndicesIndex(503), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [75] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(446), + /* name */ "O", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5428,583 +9234,1225 @@ constexpr TemplateInfo kTemplates[] = { { /* [77] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(448), + /* matcher_indices */ MatcherIndicesIndex(510), /* kind */ TemplateInfo::Kind::kType, }, { /* [78] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kType, }, { /* [79] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(451), + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kType, }, { /* [80] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [81] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [82] */ - /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [83] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(447), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [84] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [85] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [86] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [87] */ - /* name */ "M", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [88] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [89] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(447), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [90] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [91] */ - /* name */ "M", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [92] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(451), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [93] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [94] */ - /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [95] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(451), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [96] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [97] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [98] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(41), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [99] */ - /* name */ "AS", - /* matcher_indices */ MatcherIndicesIndex(410), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [100] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [101] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(449), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [102] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [103] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(450), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [104] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [105] */ /* name */ "W", /* matcher_indices */ MatcherIndicesIndex(51), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [106] */ + /* [81] */ /* name */ "AS", /* matcher_indices */ MatcherIndicesIndex(1), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [107] */ + /* [82] */ + /* name */ "O", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [83] */ /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [108] */ + /* [84] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(384), + /* matcher_indices */ MatcherIndicesIndex(509), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [85] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [86] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [87] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(1), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [88] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(514), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [89] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [90] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [91] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [92] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [93] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [94] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [95] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [96] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [97] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [98] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [99] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [100] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [101] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(387), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [102] */ + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(26), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [103] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [104] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [105] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(395), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [106] */ + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(26), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [107] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [108] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [109] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(451), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(471), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [110] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(26), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [111] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(386), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [112] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(451), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(514), /* kind */ TemplateInfo::Kind::kType, }, { /* [113] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [114] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(388), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [115] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(451), + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [116] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), /* kind */ TemplateInfo::Kind::kType, }, { /* [117] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(390), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [118] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(451), + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [119] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [120] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(392), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [121] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(451), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(387), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [122] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(477), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [123] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(394), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [124] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(451), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [125] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(395), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [126] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(396), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(477), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [127] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(451), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [128] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [129] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(447), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(471), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [130] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(477), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [131] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, }, { /* [132] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(467), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [133] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(387), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [134] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "RW", + /* matcher_indices */ MatcherIndicesIndex(51), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [135] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(467), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [136] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, }, { /* [137] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(395), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [138] */ + /* name */ "RW", + /* matcher_indices */ MatcherIndicesIndex(51), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [139] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [140] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [141] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(471), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [142] */ + /* name */ "RW", + /* matcher_indices */ MatcherIndicesIndex(51), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [143] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [144] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(510), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [145] */ /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [138] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(467), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [139] */ + /* [146] */ /* name */ "C", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [140] */ + /* [147] */ /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, - { - /* [141] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [142] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [143] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(451), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [144] */ - /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [145] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [146] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [147] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(452), - /* kind */ TemplateInfo::Kind::kType, - }, { /* [148] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "M", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [149] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(453), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [150] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [151] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(454), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [152] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [153] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(455), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [154] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [155] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(456), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [156] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [157] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(448), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [158] */ /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [159] */ + /* [150] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(510), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [151] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [152] */ + /* name */ "M", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [153] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(514), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [154] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [155] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [156] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [157] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [158] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [159] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [160] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(464), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), /* kind */ TemplateInfo::Kind::kType, }, { /* [161] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(41), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [162] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(465), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [163] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(10), + /* matcher_indices */ MatcherIndicesIndex(13), /* kind */ TemplateInfo::Kind::kType, }, { /* [164] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(462), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [165] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(17), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [166] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(463), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), /* kind */ TemplateInfo::Kind::kType, }, { /* [167] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(101), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [168] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(466), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [169] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(462), + /* matcher_indices */ MatcherIndicesIndex(514), /* kind */ TemplateInfo::Kind::kType, }, { /* [170] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(463), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [171] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(464), + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(511), /* kind */ TemplateInfo::Kind::kType, }, { /* [172] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(465), + /* matcher_indices */ MatcherIndicesIndex(514), /* kind */ TemplateInfo::Kind::kType, }, { /* [173] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [174] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [175] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(477), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [176] */ + /* name */ "AS", + /* matcher_indices */ MatcherIndicesIndex(503), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [177] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [178] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(466), + /* matcher_indices */ MatcherIndicesIndex(512), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [179] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [180] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(513), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [181] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [182] */ + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(51), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [183] */ + /* name */ "AS", + /* matcher_indices */ MatcherIndicesIndex(1), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [184] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [185] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(455), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [186] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [187] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [188] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(457), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [189] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [190] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [191] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(459), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [192] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [193] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [194] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(461), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [195] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [196] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [197] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(463), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [198] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [199] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [200] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(465), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [201] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [202] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [203] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(467), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [204] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(514), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [205] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [206] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(366), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [207] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [208] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [209] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(369), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [210] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [211] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [212] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(333), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [213] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [214] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [215] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(372), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [216] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [217] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [218] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(375), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [219] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [220] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [221] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(336), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [222] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [223] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [224] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(423), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [225] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [226] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [227] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(467), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [228] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [229] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [230] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(510), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [231] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [232] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [233] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(530), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [234] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [235] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [236] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(530), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [237] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [238] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [239] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(530), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [240] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [241] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [242] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [243] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [244] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(514), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [245] */ + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [246] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [247] */ + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [248] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [249] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(477), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [250] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [251] */ + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(26), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [252] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(515), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [253] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [254] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(516), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [255] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [256] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(517), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [257] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [258] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(518), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [259] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [260] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(519), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [261] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [262] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(522), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [263] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [264] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(511), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [265] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [266] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(13), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [267] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(527), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [268] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [269] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(528), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [270] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(10), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [271] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(525), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [272] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [273] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(526), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [274] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(209), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [275] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(529), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [276] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(525), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [277] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(526), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [278] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(527), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [279] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(528), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [280] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(529), /* kind */ TemplateInfo::Kind::kType, }, }; @@ -6134,761 +10582,761 @@ static_assert(ConstEvalFunctionIndex::CanIndex(kConstEvalFunctions), constexpr OverloadInfo kOverloads[] = { { /* [0] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(334), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(663), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [1] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(143), - /* parameters */ ParameterIndex(377), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(667), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [2] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(75), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [3] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(143), - /* parameters */ ParameterIndex(379), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(675), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [4] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(27), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(679), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [5] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(143), - /* parameters */ ParameterIndex(381), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [6] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(340), - /* return_matcher_indices */ MatcherIndicesIndex(250), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [7] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(143), - /* parameters */ ParameterIndex(383), - /* return_matcher_indices */ MatcherIndicesIndex(250), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [8] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(184), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [9] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(143), - /* parameters */ ParameterIndex(385), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [10] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(80), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(591), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [11] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(143), - /* parameters */ ParameterIndex(387), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(595), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [12] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(343), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(599), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [13] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(603), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [14] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(389), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(607), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [15] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(19), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [16] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(391), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(316), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [17] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 2, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [18] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(393), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(326), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [19] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(47), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [20] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(395), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(311), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [21] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(349), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(316), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [22] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(479), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [23] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(480), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(326), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [24] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(481), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(331), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [25] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(482), - /* return_matcher_indices */ MatcherIndicesIndex(250), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [26] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(483), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(156), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [27] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(295), - /* return_matcher_indices */ MatcherIndicesIndex(346), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [28] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(334), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(168), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [29] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(337), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [30] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(231), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(611), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [31] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(340), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(615), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [32] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(95), - /* parameters */ ParameterIndex(343), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(619), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [33] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(93), - /* parameters */ ParameterIndex(346), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(623), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [34] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(235), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(627), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [35] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(349), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(411), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [36] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(397), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(416), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [37] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(399), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [38] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(401), - /* return_matcher_indices */ MatcherIndicesIndex(12), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(426), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [39] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(403), - /* return_matcher_indices */ MatcherIndicesIndex(19), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(659), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [40] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(405), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(180), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [41] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(407), - /* return_matcher_indices */ MatcherIndicesIndex(12), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(631), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [42] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(409), - /* return_matcher_indices */ MatcherIndicesIndex(19), + /* num_templates */ 2, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [43] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(352), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(639), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [44] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(355), - /* return_matcher_indices */ MatcherIndicesIndex(12), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(204), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [45] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(358), - /* return_matcher_indices */ MatcherIndicesIndex(19), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [46] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(411), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(583), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [47] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(413), - /* return_matcher_indices */ MatcherIndicesIndex(12), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [48] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(415), - /* return_matcher_indices */ MatcherIndicesIndex(19), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(296), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [49] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(417), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(703), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [50] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(419), - /* return_matcher_indices */ MatcherIndicesIndex(12), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(516), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [51] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(421), - /* return_matcher_indices */ MatcherIndicesIndex(19), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(663), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [52] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(207), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(667), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [53] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [54] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(195), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(675), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [55] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(679), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [56] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(99), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(436), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [57] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(50), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(441), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [58] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(199), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(446), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [59] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(119), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(451), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [60] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(56), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(456), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [61] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(436), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [62] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(187), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(441), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [63] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(446), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [64] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(84), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(451), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [65] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(215), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(456), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [66] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(144), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(210), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [67] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(207), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(216), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [68] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(124), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(222), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -6896,10 +11344,10 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(124), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -6908,9 +11356,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(62), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(234), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -6919,53 +11367,53 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(62), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(210), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [72] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(129), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(216), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [73] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(129), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(222), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [74] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(211), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [75] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(134), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(234), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -6973,43 +11421,43 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(461), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [77] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(466), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [78] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(471), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [79] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(476), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7017,10 +11465,10 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(215), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(481), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -7028,1209 +11476,1209 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(144), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(461), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [82] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(466), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [83] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(471), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [84] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(476), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [85] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(481), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [86] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(683), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [87] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(310), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(687), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [88] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(313), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(691), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [89] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(223), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(695), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [90] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(316), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(699), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [91] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(319), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(486), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [92] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(322), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(491), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [93] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(325), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(496), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [94] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(227), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(501), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [95] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(328), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(506), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [96] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(331), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [97] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [98] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [99] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [100] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(703), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [101] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(364), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(516), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [102] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(367), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [103] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(370), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(244), + /* parameters */ ParameterIndex(869), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [104] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(464), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(247), + /* return_matcher_indices */ MatcherIndicesIndex(403), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [105] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(466), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(244), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(403), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [106] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(55), + /* return_matcher_indices */ MatcherIndicesIndex(403), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [107] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(159), - /* parameters */ ParameterIndex(493), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(244), + /* parameters */ ParameterIndex(873), + /* return_matcher_indices */ MatcherIndicesIndex(403), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [108] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(161), - /* parameters */ ParameterIndex(493), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(832), + /* return_matcher_indices */ MatcherIndicesIndex(409), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [109] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(163), - /* parameters */ ParameterIndex(493), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(244), + /* parameters */ ParameterIndex(875), + /* return_matcher_indices */ MatcherIndicesIndex(409), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [110] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(493), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(564), + /* return_matcher_indices */ MatcherIndicesIndex(403), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [111] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(167), - /* parameters */ ParameterIndex(493), - /* return_matcher_indices */ MatcherIndicesIndex(62), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(244), + /* parameters */ ParameterIndex(877), + /* return_matcher_indices */ MatcherIndicesIndex(403), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [112] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(74), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(272), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [113] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(74), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* templates */ TemplateIndex(244), + /* parameters */ ParameterIndex(879), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [114] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(26), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [115] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(26), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 2, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(881), + /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [116] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(183), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [117] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(79), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* num_templates */ 2, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(883), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [118] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [119] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(187), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(885), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [120] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(409), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [121] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(84), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(887), + /* return_matcher_indices */ MatcherIndicesIndex(409), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [122] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(215), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [123] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(144), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(889), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [124] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [125] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(111), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(891), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [126] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(844), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [127] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(117), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [128] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(120), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(893), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [129] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(123), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [130] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(126), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(895), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [131] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(147), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [132] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(149), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(897), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [133] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(151), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [134] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(153), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(899), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [135] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(155), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(850), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [136] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(248), + /* parameters */ ParameterIndex(965), + /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [137] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(111), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(248), + /* parameters */ ParameterIndex(966), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [138] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(248), + /* parameters */ ParameterIndex(967), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [139] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(117), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(248), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(409), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [140] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(120), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(250), + /* parameters */ ParameterIndex(965), + /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [141] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(123), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(250), + /* parameters */ ParameterIndex(966), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [142] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(126), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(250), + /* parameters */ ParameterIndex(967), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [143] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(147), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(250), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(409), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [144] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(149), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(248), + /* parameters */ ParameterIndex(969), + /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [145] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(151), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(250), + /* parameters */ ParameterIndex(969), + /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [146] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(153), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(787), + /* return_matcher_indices */ MatcherIndicesIndex(403), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [147] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(155), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(169), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [148] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(169), + /* parameters */ ParameterIndex(829), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [149] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(719), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [150] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(169), + /* parameters */ ParameterIndex(832), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [151] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(835), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [152] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(364), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(838), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [153] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(367), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(723), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [154] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(159), - /* parameters */ ParameterIndex(492), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(841), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [155] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(161), - /* parameters */ ParameterIndex(492), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(172), + /* parameters */ ParameterIndex(844), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [156] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(163), - /* parameters */ ParameterIndex(492), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(117), + /* parameters */ ParameterIndex(847), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [157] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(492), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(19), + /* parameters */ ParameterIndex(727), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [158] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(167), - /* parameters */ ParameterIndex(492), - /* return_matcher_indices */ MatcherIndicesIndex(51), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(158), + /* parameters */ ParameterIndex(850), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [159] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(334), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(19), + /* parameters */ ParameterIndex(901), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [160] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(75), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [161] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(27), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(397), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [162] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(340), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(399), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [163] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(184), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [164] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(80), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(397), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [165] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(399), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [166] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 4, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [167] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 4, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(397), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [168] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 4, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(399), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [169] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* num_templates */ 3, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [170] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* num_templates */ 3, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [171] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* num_templates */ 3, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(399), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [172] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* num_templates */ 3, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [173] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(457), - /* return_matcher_indices */ MatcherIndicesIndex(184), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [174] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(456), - /* return_matcher_indices */ MatcherIndicesIndex(184), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(399), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [175] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(458), - /* return_matcher_indices */ MatcherIndicesIndex(329), - /* const_eval_fn */ ConstEvalFunctionIndex(87), + /* templates */ TemplateIndex(132), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [176] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(460), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(88), + /* templates */ TemplateIndex(136), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [177] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(83), - /* parameters */ ParameterIndex(462), - /* return_matcher_indices */ MatcherIndicesIndex(188), - /* const_eval_fn */ ConstEvalFunctionIndex(89), + /* num_templates */ 3, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(399), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [178] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(132), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [179] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(136), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [180] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(399), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [181] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(132), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [182] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(159), - /* parameters */ ParameterIndex(491), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(136), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [183] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(161), - /* parameters */ ParameterIndex(491), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(399), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [184] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(163), - /* parameters */ ParameterIndex(491), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(132), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [185] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(491), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(136), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [186] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(167), - /* parameters */ ParameterIndex(491), - /* return_matcher_indices */ MatcherIndicesIndex(374), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(399), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [187] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(104), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 3, + /* templates */ TemplateIndex(132), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [188] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(104), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 3, + /* templates */ TemplateIndex(136), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(397), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [189] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(38), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 3, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(399), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [190] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(38), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(336), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8238,21 +12686,21 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(109), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(341), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [192] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(109), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(346), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8260,219 +12708,219 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(203), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(351), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [194] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(114), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(356), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [195] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* parameters */ ParameterIndex(336), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [196] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(341), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [197] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(346), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [198] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 7, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(351), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [199] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(50), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* parameters */ ParameterIndex(356), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [200] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(50), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(90), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [201] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(119), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(96), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [202] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(56), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(102), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [203] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(108), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [204] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(114), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [205] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(90), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [206] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(96), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [207] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(102), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [208] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(5), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(108), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [209] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(114), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [210] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(361), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [211] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(366), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [212] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(371), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8480,1433 +12928,3930 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(376), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [214] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(381), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [215] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(361), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [216] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(366), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [217] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(371), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [218] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(376), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [219] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(381), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [220] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(643), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [221] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(239), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(647), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [222] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 6, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(243), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(651), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [223] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(6), - /* parameters */ ParameterIndex(247), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(655), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [224] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(251), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(659), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [225] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 6, - /* templates */ TemplateIndex(6), - /* parameters */ ParameterIndex(255), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(386), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [226] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 6, - /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(259), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(391), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [227] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(149), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(396), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [228] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(154), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(401), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [229] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(159), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(406), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [230] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(13), - /* parameters */ ParameterIndex(164), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [231] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(169), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [232] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(13), - /* parameters */ ParameterIndex(174), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [233] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [234] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(494), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [235] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [236] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [237] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(495), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [238] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(496), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [239] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(398), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [240] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(497), - /* return_matcher_indices */ MatcherIndicesIndex(398), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(19), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [241] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 6, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(398), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(26), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [242] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(398), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(33), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [243] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(498), - /* return_matcher_indices */ MatcherIndicesIndex(398), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(40), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [244] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(499), - /* return_matcher_indices */ MatcherIndicesIndex(398), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(47), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [245] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(404), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(19), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [246] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(500), - /* return_matcher_indices */ MatcherIndicesIndex(404), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(26), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [247] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 8, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(404), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(33), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [248] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(404), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(40), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [249] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(501), - /* return_matcher_indices */ MatcherIndicesIndex(404), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(47), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [250] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(502), - /* return_matcher_indices */ MatcherIndicesIndex(404), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [251] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(410), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(156), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [252] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(503), - /* return_matcher_indices */ MatcherIndicesIndex(410), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [253] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(410), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(168), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [254] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(410), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [255] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(504), - /* return_matcher_indices */ MatcherIndicesIndex(410), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [256] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(505), - /* return_matcher_indices */ MatcherIndicesIndex(410), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(156), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [257] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(416), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [258] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(506), - /* return_matcher_indices */ MatcherIndicesIndex(416), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(168), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [259] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 9, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(416), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [260] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(416), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(411), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [261] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(507), - /* return_matcher_indices */ MatcherIndicesIndex(416), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(416), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [262] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(508), - /* return_matcher_indices */ MatcherIndicesIndex(416), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [263] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(422), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(426), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [264] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(509), - /* return_matcher_indices */ MatcherIndicesIndex(422), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(431), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [265] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 12, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(422), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(180), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [266] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(422), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(186), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [267] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(510), - /* return_matcher_indices */ MatcherIndicesIndex(422), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(192), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [268] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(511), - /* return_matcher_indices */ MatcherIndicesIndex(422), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(198), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [269] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(428), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(204), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [270] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(512), - /* return_matcher_indices */ MatcherIndicesIndex(428), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(246), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [271] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 8, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(428), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(153), + /* parameters */ ParameterIndex(251), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [272] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(428), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(156), + /* parameters */ ParameterIndex(555), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [273] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(513), - /* return_matcher_indices */ MatcherIndicesIndex(428), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(559), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [274] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(514), - /* return_matcher_indices */ MatcherIndicesIndex(428), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [275] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(434), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(246), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [276] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(515), - /* return_matcher_indices */ MatcherIndicesIndex(434), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(153), + /* parameters */ ParameterIndex(251), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [277] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 12, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(434), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(163), + /* parameters */ ParameterIndex(256), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [278] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(434), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(166), + /* parameters */ ParameterIndex(261), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [279] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(516), - /* return_matcher_indices */ MatcherIndicesIndex(434), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [280] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(517), - /* return_matcher_indices */ MatcherIndicesIndex(434), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(54), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [281] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(440), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(60), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [282] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(518), - /* return_matcher_indices */ MatcherIndicesIndex(440), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(66), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [283] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 16, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(440), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(96), + /* parameters */ ParameterIndex(72), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [284] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(440), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(78), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [285] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(519), - /* return_matcher_indices */ MatcherIndicesIndex(440), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(54), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [286] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(520), - /* return_matcher_indices */ MatcherIndicesIndex(440), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(60), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [287] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(27), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 4, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(66), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [288] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(80), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 4, + /* templates */ TemplateIndex(96), + /* parameters */ ParameterIndex(72), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [289] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(78), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [290] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 2, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(563), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [291] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(481), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 3, + /* templates */ TemplateIndex(153), + /* parameters */ ParameterIndex(567), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [292] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(84), + /* num_templates */ 3, + /* templates */ TemplateIndex(156), + /* parameters */ ParameterIndex(571), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [293] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(84), + /* num_templates */ 3, + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(575), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [294] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(84), + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(579), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [295] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(84), + /* num_templates */ 3, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(271), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [296] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(455), - /* return_matcher_indices */ MatcherIndicesIndex(184), - /* const_eval_fn */ ConstEvalFunctionIndex(84), + /* num_templates */ 4, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(276), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [297] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(85), + /* num_templates */ 4, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(281), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [298] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(85), + /* num_templates */ 4, + /* templates */ TemplateIndex(96), + /* parameters */ ParameterIndex(286), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [299] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(85), + /* num_templates */ 3, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(291), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [300] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(85), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [301] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(455), - /* return_matcher_indices */ MatcherIndicesIndex(184), - /* const_eval_fn */ ConstEvalFunctionIndex(85), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(583), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [302] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(18), - /* parameters */ ParameterIndex(439), - /* return_matcher_indices */ MatcherIndicesIndex(95), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [303] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(26), - /* parameters */ ParameterIndex(439), - /* return_matcher_indices */ MatcherIndicesIndex(95), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(296), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [304] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(439), - /* return_matcher_indices */ MatcherIndicesIndex(95), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(703), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [305] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(38), - /* parameters */ ParameterIndex(439), - /* return_matcher_indices */ MatcherIndicesIndex(95), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(516), + /* return_matcher_indices */ MatcherIndicesIndex(395), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [306] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(43), - /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(185), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [307] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(48), - /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(188), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [308] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(53), - /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(191), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [309] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(58), - /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(194), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [310] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(63), - /* parameters */ ParameterIndex(447), - /* return_matcher_indices */ MatcherIndicesIndex(172), + /* num_templates */ 3, + /* templates */ TemplateIndex(197), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [311] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(63), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(172), + /* num_templates */ 3, + /* templates */ TemplateIndex(200), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [312] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(70), - /* parameters */ ParameterIndex(447), - /* return_matcher_indices */ MatcherIndicesIndex(172), + /* num_templates */ 3, + /* templates */ TemplateIndex(203), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [313] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(70), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(172), + /* num_templates */ 2, + /* templates */ TemplateIndex(252), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [314] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(64), - /* parameters */ ParameterIndex(485), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(254), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [315] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(98), - /* parameters */ ParameterIndex(486), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(256), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [316] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(71), - /* parameters */ ParameterIndex(485), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(258), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [317] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(105), - /* parameters */ ParameterIndex(486), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(260), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [318] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(90), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(262), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [319] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(90), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(206), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [320] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(90), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(209), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [321] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(90), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(212), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [322] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(91), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(215), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [323] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(91), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(218), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [324] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(91), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(221), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [325] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(91), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(224), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [326] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(101), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(185), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [327] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(203), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(188), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [328] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(191), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [329] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(194), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [330] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(101), - /* const_eval_fn */ ConstEvalFunctionIndex(94), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(197), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [331] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(203), - /* const_eval_fn */ ConstEvalFunctionIndex(94), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(200), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [332] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(94), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(227), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [333] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(94), + /* templates */ TemplateIndex(252), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [334] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(42), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(254), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [335] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(42), + /* templates */ TemplateIndex(256), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [336] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(285), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(42), + /* templates */ TemplateIndex(258), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [337] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(288), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(62), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(260), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [338] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(280), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(62), + /* templates */ TemplateIndex(262), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [339] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(291), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(63), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(206), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [340] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(22), - /* parameters */ ParameterIndex(441), - /* return_matcher_indices */ MatcherIndicesIndex(80), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(209), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [341] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(30), - /* parameters */ ParameterIndex(443), - /* return_matcher_indices */ MatcherIndicesIndex(125), + /* templates */ TemplateIndex(212), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [342] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(30), - /* parameters */ ParameterIndex(445), - /* return_matcher_indices */ MatcherIndicesIndex(130), + /* templates */ TemplateIndex(215), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [343] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(218), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [344] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(221), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [345] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(224), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [346] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [347] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(247), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [348] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(55), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [349] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(832), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [350] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(564), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [351] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(272), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [352] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [353] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [354] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [355] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [356] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [357] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(246), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [358] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [359] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [360] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [361] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [362] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [363] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [364] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [365] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [366] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(132), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [367] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(802), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [368] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(805), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [369] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(711), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [370] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(808), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [371] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(136), + /* parameters */ ParameterIndex(811), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [372] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(814), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [373] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(817), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [374] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(715), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [375] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(820), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [376] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(823), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [377] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [378] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [379] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [380] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(109), + }, + { + /* [381] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(856), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [382] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(859), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [383] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(862), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [384] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(950), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [385] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(952), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [386] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(954), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [387] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(266), + /* parameters */ ParameterIndex(979), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [388] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(268), + /* parameters */ ParameterIndex(979), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [389] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(270), + /* parameters */ ParameterIndex(979), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [390] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(272), + /* parameters */ ParameterIndex(979), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [391] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(979), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [392] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [393] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [394] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [395] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(109), + }, + { + /* [396] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(856), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [397] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(859), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, + { + /* [398] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(266), + /* parameters */ ParameterIndex(978), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [399] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(268), + /* parameters */ ParameterIndex(978), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [400] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(270), + /* parameters */ ParameterIndex(978), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [401] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(272), + /* parameters */ ParameterIndex(978), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [402] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(978), + /* return_matcher_indices */ MatcherIndicesIndex(387), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [403] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(86), + }, + { + /* [404] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(86), + }, + { + /* [405] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(937), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(86), + }, + { + /* [406] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(938), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(86), + }, + { + /* [407] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(943), + /* return_matcher_indices */ MatcherIndicesIndex(188), + /* const_eval_fn */ ConstEvalFunctionIndex(86), + }, + { + /* [408] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(942), + /* return_matcher_indices */ MatcherIndicesIndex(188), + /* const_eval_fn */ ConstEvalFunctionIndex(86), + }, + { + /* [409] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(944), + /* return_matcher_indices */ MatcherIndicesIndex(378), + /* const_eval_fn */ ConstEvalFunctionIndex(87), + }, + { + /* [410] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(946), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(88), + }, + { + /* [411] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(948), + /* return_matcher_indices */ MatcherIndicesIndex(192), + /* const_eval_fn */ ConstEvalFunctionIndex(89), + }, + { + /* [412] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [413] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [414] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [415] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(109), + }, + { + /* [416] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(266), + /* parameters */ ParameterIndex(977), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [417] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(268), + /* parameters */ ParameterIndex(977), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [418] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(270), + /* parameters */ ParameterIndex(977), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [419] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(272), + /* parameters */ ParameterIndex(977), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [420] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(977), + /* return_matcher_indices */ MatcherIndicesIndex(100), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [421] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(55), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [422] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(272), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [423] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [424] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [425] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [426] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [427] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(248), + /* parameters */ ParameterIndex(967), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [428] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(250), + /* parameters */ ParameterIndex(967), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [429] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [430] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [431] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [432] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [433] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [434] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [435] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [436] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [437] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [438] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [439] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [440] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [441] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [442] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [443] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [444] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [445] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [446] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [447] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [448] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [449] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [450] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [451] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [452] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(787), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [453] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(0), + /* parameters */ ParameterIndex(731), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [454] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 6, + /* templates */ TemplateIndex(0), + /* parameters */ ParameterIndex(735), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [455] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(6), + /* parameters */ ParameterIndex(739), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [456] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(12), + /* parameters */ ParameterIndex(743), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [457] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 6, + /* templates */ TemplateIndex(6), + /* parameters */ ParameterIndex(747), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [458] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 6, + /* templates */ TemplateIndex(12), + /* parameters */ ParameterIndex(751), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [459] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(1), + /* parameters */ ParameterIndex(521), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [460] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(1), + /* parameters */ ParameterIndex(526), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [461] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(531), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [462] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(13), + /* parameters */ ParameterIndex(536), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [463] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(541), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [464] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(13), + /* parameters */ ParameterIndex(546), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [465] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [466] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(980), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [467] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [468] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [469] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(981), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [470] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(982), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [471] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(477), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [472] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(983), + /* return_matcher_indices */ MatcherIndicesIndex(477), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [473] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(477), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [474] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(477), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [475] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(984), + /* return_matcher_indices */ MatcherIndicesIndex(477), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [476] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(985), + /* return_matcher_indices */ MatcherIndicesIndex(477), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [477] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(483), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [478] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(986), + /* return_matcher_indices */ MatcherIndicesIndex(483), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [479] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 8, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(483), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [480] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(483), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [481] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(483), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [482] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(483), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [483] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(51), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [484] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(989), + /* return_matcher_indices */ MatcherIndicesIndex(51), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [485] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(51), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [486] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(51), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [487] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(990), + /* return_matcher_indices */ MatcherIndicesIndex(51), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [488] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(991), + /* return_matcher_indices */ MatcherIndicesIndex(51), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [489] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [490] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(992), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [491] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 9, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [492] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [493] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(993), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [494] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(994), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [495] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(26), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [496] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(995), + /* return_matcher_indices */ MatcherIndicesIndex(26), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [497] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 12, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(26), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [498] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(26), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [499] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(996), + /* return_matcher_indices */ MatcherIndicesIndex(26), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [500] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(997), + /* return_matcher_indices */ MatcherIndicesIndex(26), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [501] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(491), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [502] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(998), + /* return_matcher_indices */ MatcherIndicesIndex(491), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [503] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 8, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(491), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [504] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(491), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [505] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(999), + /* return_matcher_indices */ MatcherIndicesIndex(491), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [506] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1000), + /* return_matcher_indices */ MatcherIndicesIndex(491), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [507] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(497), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [508] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1001), + /* return_matcher_indices */ MatcherIndicesIndex(497), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [509] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 12, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(497), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [510] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(497), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [511] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1002), + /* return_matcher_indices */ MatcherIndicesIndex(497), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [512] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1003), + /* return_matcher_indices */ MatcherIndicesIndex(497), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [513] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(503), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [514] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1004), + /* return_matcher_indices */ MatcherIndicesIndex(503), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [515] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 16, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(503), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [516] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(503), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [517] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1005), + /* return_matcher_indices */ MatcherIndicesIndex(503), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [518] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1006), + /* return_matcher_indices */ MatcherIndicesIndex(503), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [519] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(84), + }, + { + /* [520] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(84), + }, + { + /* [521] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(937), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(84), + }, + { + /* [522] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(938), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(84), + }, + { + /* [523] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(941), + /* return_matcher_indices */ MatcherIndicesIndex(188), + /* const_eval_fn */ ConstEvalFunctionIndex(84), + }, + { + /* [524] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(85), + }, + { + /* [525] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(85), + }, + { + /* [526] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(937), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(85), + }, + { + /* [527] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(938), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(85), + }, + { + /* [528] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(941), + /* return_matcher_indices */ MatcherIndicesIndex(188), + /* const_eval_fn */ ConstEvalFunctionIndex(85), + }, + { + /* [529] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(27), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(99), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [530] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(35), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(99), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [531] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(42), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(99), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [532] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(47), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(99), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [533] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(52), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(114), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [534] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(57), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(114), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [535] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(62), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(114), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [536] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 5, + /* templates */ TemplateIndex(67), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(114), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [537] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(933), + /* return_matcher_indices */ MatcherIndicesIndex(176), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [538] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(935), + /* return_matcher_indices */ MatcherIndicesIndex(176), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [539] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(79), + /* parameters */ ParameterIndex(933), + /* return_matcher_indices */ MatcherIndicesIndex(176), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [540] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(79), + /* parameters */ ParameterIndex(935), + /* return_matcher_indices */ MatcherIndicesIndex(176), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [541] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(73), + /* parameters */ ParameterIndex(971), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [542] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(175), + /* parameters */ ParameterIndex(972), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [543] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(80), + /* parameters */ ParameterIndex(971), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [544] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(182), + /* parameters */ ParameterIndex(972), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [545] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(90), + }, + { + /* [546] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(90), + }, + { + /* [547] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(937), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(90), + }, + { + /* [548] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(938), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(90), + }, + { + /* [549] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(91), + }, + { + /* [550] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(91), + }, + { + /* [551] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(937), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(91), + }, + { + /* [552] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(938), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(91), + }, + { + /* [553] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(93), + }, + { + /* [554] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(207), + /* const_eval_fn */ ConstEvalFunctionIndex(93), + }, + { + /* [555] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(93), + }, + { + /* [556] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(264), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(93), + }, + { + /* [557] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [558] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(207), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [559] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [560] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(264), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [561] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(42), + }, + { + /* [562] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(42), + }, + { + /* [563] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(777), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(42), + }, + { + /* [564] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(780), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(62), + }, + { + /* [565] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(772), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(62), + }, + { + /* [566] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(177), + /* parameters */ ParameterIndex(783), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(63), + }, + { + /* [567] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(31), + /* parameters */ ParameterIndex(927), + /* return_matcher_indices */ MatcherIndicesIndex(84), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [568] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(39), + /* parameters */ ParameterIndex(929), + /* return_matcher_indices */ MatcherIndicesIndex(129), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [569] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(39), + /* parameters */ ParameterIndex(931), + /* return_matcher_indices */ MatcherIndicesIndex(134), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [570] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, @@ -9917,29 +16862,29 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(105), }, { - /* [344] */ + /* [571] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(489), + /* parameters */ ParameterIndex(975), /* return_matcher_indices */ MatcherIndicesIndex(10), /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { - /* [345] */ + /* [572] */ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), + /* templates */ TemplateIndex(276), /* parameters */ ParameterIndex(1), /* return_matcher_indices */ MatcherIndicesIndex(10), /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { - /* [346] */ + /* [573] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, @@ -9950,7 +16895,7 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(105), }, { - /* [347] */ + /* [574] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, @@ -9961,1811 +16906,1811 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { - /* [348] */ + /* [575] */ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(170), + /* templates */ TemplateIndex(277), /* parameters */ ParameterIndex(1), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { - /* [349] */ + /* [576] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(105), }, { - /* [350] */ + /* [577] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(472), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(958), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { - /* [351] */ + /* [578] */ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(171), + /* templates */ TemplateIndex(278), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { - /* [352] */ + /* [579] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(105), }, { - /* [353] */ + /* [580] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(490), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* parameters */ ParameterIndex(976), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { - /* [354] */ + /* [581] */ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(172), + /* templates */ TemplateIndex(279), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { - /* [355] */ + /* [582] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(105), }, { - /* [356] */ + /* [583] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { - /* [357] */ + /* [584] */ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(173), + /* templates */ TemplateIndex(280), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { - /* [358] */ + /* [585] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(23), + /* templates */ TemplateIndex(32), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(0), }, { - /* [359] */ + /* [586] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(0), }, { - /* [360] */ + /* [587] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(1), }, { - /* [361] */ + /* [588] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(1), }, { - /* [362] */ + /* [589] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(2), }, { - /* [363] */ + /* [590] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(2), }, { - /* [364] */ + /* [591] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(3), }, { - /* [365] */ + /* [592] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(3), }, { - /* [366] */ + /* [593] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(4), }, { - /* [367] */ + /* [594] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(4), }, { - /* [368] */ + /* [595] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(5), }, { - /* [369] */ + /* [596] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(5), }, { - /* [370] */ + /* [597] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(6), }, { - /* [371] */ + /* [598] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(6), }, { - /* [372] */ + /* [599] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(7), }, { - /* [373] */ + /* [600] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(7), }, { - /* [374] */ + /* [601] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(8), }, { - /* [375] */ + /* [602] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), /* const_eval_fn */ ConstEvalFunctionIndex(8), }, { - /* [376] */ + /* [603] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(9), }, { - /* [377] */ + /* [604] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(9), }, { - /* [378] */ + /* [605] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { - /* [379] */ + /* [606] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { - /* [380] */ + /* [607] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(23), + /* templates */ TemplateIndex(32), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(11), }, { - /* [381] */ + /* [608] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), /* const_eval_fn */ ConstEvalFunctionIndex(11), }, { - /* [382] */ + /* [609] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(12), }, { - /* [383] */ + /* [610] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(12), }, { - /* [384] */ + /* [611] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(13), }, { - /* [385] */ + /* [612] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(13), }, { - /* [386] */ + /* [613] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(14), }, { - /* [387] */ + /* [614] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(14), }, { - /* [388] */ + /* [615] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(15), }, { - /* [389] */ + /* [616] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(15), + }, + { + /* [617] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(16), + }, + { + /* [618] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(16), + }, + { + /* [619] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(18), + }, + { + /* [620] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(15), - }, - { - /* [390] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(16), - }, - { - /* [391] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(16), - }, - { - /* [392] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(18), }, { - /* [393] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(18), - }, - { - /* [394] */ + /* [621] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(20), }, { - /* [395] */ + /* [622] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), /* return_matcher_indices */ MatcherIndicesIndex(24), /* const_eval_fn */ ConstEvalFunctionIndex(20), }, { - /* [396] */ + /* [623] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(472), - /* return_matcher_indices */ MatcherIndicesIndex(6), + /* parameters */ ParameterIndex(958), + /* return_matcher_indices */ MatcherIndicesIndex(13), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [397] */ + /* [624] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(473), - /* return_matcher_indices */ MatcherIndicesIndex(209), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(959), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [398] */ + /* [625] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(24), }, { - /* [399] */ + /* [626] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(24), }, { - /* [400] */ + /* [627] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(25), }, { - /* [401] */ + /* [628] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(25), }, { - /* [402] */ + /* [629] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(16), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(26), }, { - /* [403] */ + /* [630] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(180), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(552), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(26), }, { - /* [404] */ + /* [631] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(28), }, { - /* [405] */ + /* [632] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(28), + }, + { + /* [633] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(29), + }, + { + /* [634] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(29), + }, + { + /* [635] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(30), + }, + { + /* [636] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(28), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(30), }, { - /* [406] */ + /* [637] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(31), + }, + { + /* [638] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(31), + }, + { + /* [639] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(29), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(32), }, { - /* [407] */ + /* [640] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(29), - }, - { - /* [408] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(30), - }, - { - /* [409] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(30), - }, - { - /* [410] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(31), - }, - { - /* [411] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(31), - }, - { - /* [412] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(32), }, { - /* [413] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(32), - }, - { - /* [414] */ + /* [641] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(338), + /* return_matcher_indices */ MatcherIndicesIndex(389), /* const_eval_fn */ ConstEvalFunctionIndex(33), }, { - /* [415] */ + /* [642] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(212), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(216), /* const_eval_fn */ ConstEvalFunctionIndex(33), }, { - /* [416] */ + /* [643] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(15), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(34), }, { - /* [417] */ + /* [644] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(34), }, { - /* [418] */ + /* [645] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(35), }, { - /* [419] */ + /* [646] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(35), }, { - /* [420] */ + /* [647] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(373), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(865), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(36), }, { - /* [421] */ + /* [648] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(375), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(867), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(36), }, { - /* [422] */ + /* [649] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(37), }, { - /* [423] */ + /* [650] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), /* return_matcher_indices */ MatcherIndicesIndex(24), /* const_eval_fn */ ConstEvalFunctionIndex(37), }, { - /* [424] */ + /* [651] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), + /* templates */ TemplateIndex(77), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(38), - }, - { - /* [425] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(38), - }, - { - /* [426] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(39), - }, - { - /* [427] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(39), - }, - { - /* [428] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(40), - }, - { - /* [429] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(40), - }, - { - /* [430] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(41), - }, - { - /* [431] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(41), - }, - { - /* [432] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(340), - /* const_eval_fn */ ConstEvalFunctionIndex(43), - }, - { - /* [433] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(218), - /* const_eval_fn */ ConstEvalFunctionIndex(43), - }, - { - /* [434] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(54), - }, - { - /* [435] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(54), - }, - { - /* [436] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(472), /* return_matcher_indices */ MatcherIndicesIndex(6), - /* const_eval_fn */ ConstEvalFunctionIndex(55), + /* const_eval_fn */ ConstEvalFunctionIndex(38), }, { - /* [437] */ + /* [652] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(38), + }, + { + /* [653] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(473), + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(39), + }, + { + /* [654] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(39), + }, + { + /* [655] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(40), + }, + { + /* [656] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(40), + }, + { + /* [657] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(41), + }, + { + /* [658] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(41), + }, + { + /* [659] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(391), + /* const_eval_fn */ ConstEvalFunctionIndex(43), + }, + { + /* [660] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(222), + /* const_eval_fn */ ConstEvalFunctionIndex(43), + }, + { + /* [661] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(54), + }, + { + /* [662] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(54), + }, + { + /* [663] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(958), + /* return_matcher_indices */ MatcherIndicesIndex(13), + /* const_eval_fn */ ConstEvalFunctionIndex(55), + }, + { + /* [664] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(959), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(55), + }, + { + /* [665] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(56), + }, + { + /* [666] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(56), + }, + { + /* [667] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(59), + }, + { + /* [668] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(59), + }, + { + /* [669] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(60), + }, + { + /* [670] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(60), + }, + { + /* [671] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(61), + }, + { + /* [672] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), + /* const_eval_fn */ ConstEvalFunctionIndex(61), + }, + { + /* [673] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(180), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(64), + }, + { + /* [674] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(179), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(64), + }, + { + /* [675] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(65), + }, + { + /* [676] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(65), + }, + { + /* [677] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(66), + }, + { + /* [678] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(66), + }, + { + /* [679] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(67), + }, + { + /* [680] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(67), + }, + { + /* [681] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(68), + }, + { + /* [682] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(68), + }, + { + /* [683] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(69), + }, + { + /* [684] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(69), + }, + { + /* [685] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(70), + }, + { + /* [686] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(70), + }, + { + /* [687] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(71), + }, + { + /* [688] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(71), + }, + { + /* [689] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(73), + }, + { + /* [690] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(73), + }, + { + /* [691] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(844), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [692] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(850), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [693] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(905), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [694] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(907), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [695] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(905), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [696] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(907), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [697] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(909), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [698] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(911), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [699] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(913), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [700] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(915), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [701] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(917), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [702] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(919), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [703] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(905), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [704] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(85), + /* parameters */ ParameterIndex(907), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [705] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(921), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [706] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(923), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [707] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(921), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [708] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(923), + /* return_matcher_indices */ MatcherIndicesIndex(204), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [709] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [710] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(177), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [711] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), /* return_matcher_indices */ MatcherIndicesIndex(209), - /* const_eval_fn */ ConstEvalFunctionIndex(55), - }, - { - /* [438] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(56), - }, - { - /* [439] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(56), - }, - { - /* [440] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(59), - }, - { - /* [441] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(59), - }, - { - /* [442] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(60), - }, - { - /* [443] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(60), - }, - { - /* [444] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(61), - }, - { - /* [445] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), - /* const_eval_fn */ ConstEvalFunctionIndex(61), - }, - { - /* [446] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(103), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(64), - }, - { - /* [447] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(102), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(64), - }, - { - /* [448] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(65), - }, - { - /* [449] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(65), - }, - { - /* [450] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(66), - }, - { - /* [451] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(66), - }, - { - /* [452] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(67), - }, - { - /* [453] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(67), - }, - { - /* [454] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(68), - }, - { - /* [455] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(68), - }, - { - /* [456] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(69), - }, - { - /* [457] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(69), - }, - { - /* [458] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(70), - }, - { - /* [459] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(70), - }, - { - /* [460] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(71), - }, - { - /* [461] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(71), - }, - { - /* [462] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(73), - }, - { - /* [463] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(73), - }, - { - /* [464] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(343), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [465] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(349), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [466] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(5), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [467] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(295), - /* return_matcher_indices */ MatcherIndicesIndex(5), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [468] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [469] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(425), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [470] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [471] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(425), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [472] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(427), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [473] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(429), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [474] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(431), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [475] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(433), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [476] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [477] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(425), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [478] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(435), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [479] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(437), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [480] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(435), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [481] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(437), - /* return_matcher_indices */ MatcherIndicesIndex(200), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [482] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [483] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [484] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(101), /* const_eval_fn */ ConstEvalFunctionIndex(81), }, { - /* [485] */ + /* [712] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(203), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(207), /* const_eval_fn */ ConstEvalFunctionIndex(81), }, { - /* [486] */ + /* [713] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(82), }, { - /* [487] */ + /* [714] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), + /* templates */ TemplateIndex(264), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), /* const_eval_fn */ ConstEvalFunctionIndex(82), }, { - /* [488] */ + /* [715] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(103), + /* templates */ TemplateIndex(180), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(83), }, { - /* [489] */ + /* [716] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(103), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), + /* templates */ TemplateIndex(180), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), /* const_eval_fn */ ConstEvalFunctionIndex(83), }, { - /* [490] */ + /* [717] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(92), }, { - /* [491] */ + /* [718] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(206), + /* templates */ TemplateIndex(264), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(210), /* const_eval_fn */ ConstEvalFunctionIndex(92), }, { - /* [492] */ + /* [719] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(101), + /* templates */ TemplateIndex(178), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(97), }, { - /* [493] */ + /* [720] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(332), + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(381), /* const_eval_fn */ ConstEvalFunctionIndex(97), }, { - /* [494] */ + /* [721] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(101), + /* templates */ TemplateIndex(178), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(98), }, { - /* [495] */ + /* [722] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(101), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(332), + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(381), /* const_eval_fn */ ConstEvalFunctionIndex(98), }, { - /* [496] */ + /* [723] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(23), + /* templates */ TemplateIndex(32), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(99), }, { - /* [497] */ + /* [724] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(332), + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(381), /* const_eval_fn */ ConstEvalFunctionIndex(99), }, { - /* [498] */ + /* [725] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(23), + /* templates */ TemplateIndex(32), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(100), }, { - /* [499] */ + /* [726] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(332), + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(381), /* const_eval_fn */ ConstEvalFunctionIndex(100), }, { - /* [500] */ + /* [727] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(23), + /* templates */ TemplateIndex(32), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(101), }, { - /* [501] */ + /* [728] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(332), + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(381), /* const_eval_fn */ ConstEvalFunctionIndex(101), }, { - /* [502] */ + /* [729] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(23), + /* templates */ TemplateIndex(32), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(102), }, { - /* [503] */ + /* [730] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(332), + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(381), /* const_eval_fn */ ConstEvalFunctionIndex(102), }, { - /* [504] */ + /* [731] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(16), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(103), }, { - /* [505] */ + /* [732] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(453), - /* return_matcher_indices */ MatcherIndicesIndex(206), + /* templates */ TemplateIndex(264), + /* parameters */ ParameterIndex(939), + /* return_matcher_indices */ MatcherIndicesIndex(210), /* const_eval_fn */ ConstEvalFunctionIndex(103), }, { - /* [506] */ + /* [733] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), + /* templates */ TemplateIndex(48), /* parameters */ ParameterIndex(16), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(104), }, { - /* [507] */ + /* [734] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(453), - /* return_matcher_indices */ MatcherIndicesIndex(206), + /* templates */ TemplateIndex(264), + /* parameters */ ParameterIndex(939), + /* return_matcher_indices */ MatcherIndicesIndex(210), /* const_eval_fn */ ConstEvalFunctionIndex(104), }, { - /* [508] */ + /* [735] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(141), - /* parameters */ ParameterIndex(470), + /* templates */ TemplateIndex(242), + /* parameters */ ParameterIndex(956), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [509] */ + /* [736] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(51), + /* templates */ TemplateIndex(77), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(387), /* const_eval_fn */ ConstEvalFunctionIndex(17), }, { - /* [510] */ + /* [737] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(471), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(957), /* return_matcher_indices */ MatcherIndicesIndex(24), /* const_eval_fn */ ConstEvalFunctionIndex(19), }, { - /* [511] */ + /* [738] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(179), + /* templates */ TemplateIndex(83), + /* parameters */ ParameterIndex(551), /* return_matcher_indices */ MatcherIndicesIndex(24), /* const_eval_fn */ ConstEvalFunctionIndex(21), }, { - /* [512] */ + /* [739] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, @@ -11776,7 +18721,7 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(22), }, { - /* [513] */ + /* [740] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, @@ -11787,150 +18732,238 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(23), }, { - /* [514] */ + /* [741] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(27), }, { - /* [515] */ + /* [742] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(44), }, { - /* [516] */ + /* [743] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(474), + /* parameters */ ParameterIndex(960), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(45), }, { - /* [517] */ + /* [744] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(474), + /* parameters */ ParameterIndex(960), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(46), }, { - /* [518] */ + /* [745] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(474), + /* parameters */ ParameterIndex(960), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(47), }, { - /* [519] */ + /* [746] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(475), + /* parameters */ ParameterIndex(961), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(48), }, { - /* [520] */ + /* [747] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(475), + /* parameters */ ParameterIndex(961), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(49), }, { - /* [521] */ + /* [748] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(476), + /* parameters */ ParameterIndex(962), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(50), }, { - /* [522] */ + /* [749] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(477), + /* parameters */ ParameterIndex(963), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(51), }, { - /* [523] */ + /* [750] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(476), + /* parameters */ ParameterIndex(962), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(52), }, { - /* [524] */ + /* [751] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(477), + /* parameters */ ParameterIndex(963), /* return_matcher_indices */ MatcherIndicesIndex(17), /* const_eval_fn */ ConstEvalFunctionIndex(53), }, { - /* [525] */ + /* [752] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(57), }, { - /* [526] */ + /* [753] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(285), - /* return_matcher_indices */ MatcherIndicesIndex(200), + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(777), + /* return_matcher_indices */ MatcherIndicesIndex(204), /* const_eval_fn */ ConstEvalFunctionIndex(58), }, { - /* [527] */ + /* [754] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(148), + /* parameters */ ParameterIndex(964), + /* return_matcher_indices */ MatcherIndicesIndex(168), + /* const_eval_fn */ ConstEvalFunctionIndex(72), + }, + { + /* [755] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(393), + /* const_eval_fn */ ConstEvalFunctionIndex(74), + }, + { + /* [756] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(393), + /* const_eval_fn */ ConstEvalFunctionIndex(75), + }, + { + /* [757] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(393), + /* const_eval_fn */ ConstEvalFunctionIndex(76), + }, + { + /* [758] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(77), + }, + { + /* [759] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(395), + /* const_eval_fn */ ConstEvalFunctionIndex(78), + }, + { + /* [760] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(79), + }, + { + /* [761] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(399), + /* const_eval_fn */ ConstEvalFunctionIndex(80), + }, + { + /* [762] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 0, /* num_explicit_templates */ 0, @@ -11941,234 +18974,157 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [528] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(87), - /* parameters */ ParameterIndex(478), - /* return_matcher_indices */ MatcherIndicesIndex(164), - /* const_eval_fn */ ConstEvalFunctionIndex(72), - }, - { - /* [529] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(342), - /* const_eval_fn */ ConstEvalFunctionIndex(74), - }, - { - /* [530] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(342), - /* const_eval_fn */ ConstEvalFunctionIndex(75), - }, - { - /* [531] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(342), - /* const_eval_fn */ ConstEvalFunctionIndex(76), - }, - { - /* [532] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(5), - /* const_eval_fn */ ConstEvalFunctionIndex(77), - }, - { - /* [533] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(5), - /* const_eval_fn */ ConstEvalFunctionIndex(78), - }, - { - /* [534] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(12), - /* const_eval_fn */ ConstEvalFunctionIndex(79), - }, - { - /* [535] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(19), - /* const_eval_fn */ ConstEvalFunctionIndex(80), - }, - { - /* [536] */ + /* [763] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(79), - /* parameters */ ParameterIndex(484), - /* return_matcher_indices */ MatcherIndicesIndex(62), + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(970), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [537] */ + /* [764] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(77), + /* templates */ TemplateIndex(86), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [538] */ + /* [765] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(77), + /* templates */ TemplateIndex(86), /* parameters */ ParameterIndex(0), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [539] */ + /* [766] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(77), + /* templates */ TemplateIndex(86), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [540] */ + /* [767] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(77), + /* templates */ TemplateIndex(86), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(382), + /* return_matcher_indices */ MatcherIndicesIndex(453), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [541] */ + /* [768] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(903), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [769] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(19), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(399), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [542] */ + /* [770] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [543] */ + /* [771] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [544] */ + /* [772] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(95), }, { - /* [545] */ + /* [773] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(101), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(209), /* const_eval_fn */ ConstEvalFunctionIndex(96), }, { - /* [546] */ + /* [774] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 3, /* num_templates */ 3, - /* templates */ TemplateIndex(132), + /* templates */ TemplateIndex(233), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(145), + /* return_matcher_indices */ MatcherIndicesIndex(149), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [547] */ + /* [775] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 3, /* num_templates */ 3, - /* templates */ TemplateIndex(135), + /* templates */ TemplateIndex(236), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(154), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [548] */ + /* [776] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 3, /* num_templates */ 3, - /* templates */ TemplateIndex(138), + /* templates */ TemplateIndex(239), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(155), + /* return_matcher_indices */ MatcherIndicesIndex(159), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, }; @@ -12182,357 +19138,357 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn abs[T : fiu32_f16](T) -> T */ /* fn abs[N : num, T : fiu32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(358), + /* overloads */ OverloadIndex(585), }, { /* [1] */ /* fn acos[T : f32_f16](@test_value(0.96891242171) T) -> T */ /* fn acos[N : num, T : f32_f16](@test_value(0.96891242171) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(360), + /* overloads */ OverloadIndex(587), }, { /* [2] */ /* fn acosh[T : f32_f16](@test_value(1.5430806348) T) -> T */ /* fn acosh[N : num, T : f32_f16](@test_value(1.5430806348) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(362), + /* overloads */ OverloadIndex(589), }, { /* [3] */ /* fn all(bool) -> bool */ /* fn all[N : num](vec) -> bool */ /* num overloads */ 2, - /* overloads */ OverloadIndex(364), + /* overloads */ OverloadIndex(591), }, { /* [4] */ /* fn any(bool) -> bool */ /* fn any[N : num](vec) -> bool */ /* num overloads */ 2, - /* overloads */ OverloadIndex(366), + /* overloads */ OverloadIndex(593), }, { /* [5] */ /* fn arrayLength[T, A : access](ptr, A>) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(508), + /* overloads */ OverloadIndex(735), }, { /* [6] */ /* fn asin[T : f32_f16](@test_value(0.479425538604) T) -> T */ /* fn asin[N : num, T : f32_f16](@test_value(0.479425538604) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(368), + /* overloads */ OverloadIndex(595), }, { /* [7] */ /* fn asinh[T : f32_f16](T) -> T */ /* fn asinh[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(370), + /* overloads */ OverloadIndex(597), }, { /* [8] */ /* fn atan[T : f32_f16](T) -> T */ /* fn atan[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(372), + /* overloads */ OverloadIndex(599), }, { /* [9] */ /* fn atan2[T : f32_f16](T, T) -> T */ /* fn atan2[T : f32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(374), + /* overloads */ OverloadIndex(601), }, { /* [10] */ /* fn atanh[T : f32_f16](@test_value(0.5) T) -> T */ /* fn atanh[N : num, T : f32_f16](@test_value(0.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(376), + /* overloads */ OverloadIndex(603), }, { /* [11] */ /* fn ceil[T : f32_f16](@test_value(1.5) T) -> T */ /* fn ceil[N : num, T : f32_f16](@test_value(1.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(378), + /* overloads */ OverloadIndex(605), }, { /* [12] */ /* fn clamp[T : fiu32_f16](T, T, T) -> T */ /* fn clamp[T : fiu32_f16, N : num](vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(380), + /* overloads */ OverloadIndex(607), }, { /* [13] */ /* fn cos[T : f32_f16](@test_value(0) T) -> T */ /* fn cos[N : num, T : f32_f16](@test_value(0) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(382), + /* overloads */ OverloadIndex(609), }, { /* [14] */ /* fn cosh[T : f32_f16](@test_value(0) T) -> T */ /* fn cosh[N : num, T : f32_f16](@test_value(0) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(384), + /* overloads */ OverloadIndex(611), }, { /* [15] */ /* fn countLeadingZeros[T : iu32](T) -> T */ /* fn countLeadingZeros[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(386), + /* overloads */ OverloadIndex(613), }, { /* [16] */ /* fn countOneBits[T : iu32](T) -> T */ /* fn countOneBits[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(388), + /* overloads */ OverloadIndex(615), }, { /* [17] */ /* fn countTrailingZeros[T : iu32](T) -> T */ /* fn countTrailingZeros[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(390), + /* overloads */ OverloadIndex(617), }, { /* [18] */ /* fn cross[T : f32_f16](vec3, vec3) -> vec3 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(509), + /* overloads */ OverloadIndex(736), }, { /* [19] */ /* fn degrees[T : f32_f16](T) -> T */ /* fn degrees[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(392), + /* overloads */ OverloadIndex(619), }, { /* [20] */ /* fn determinant[N : num, T : f32_f16](mat) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(510), + /* overloads */ OverloadIndex(737), }, { /* [21] */ /* fn distance[T : f32_f16](T, T) -> T */ /* fn distance[N : num, T : f32_f16](vec, vec) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(394), + /* overloads */ OverloadIndex(621), }, { /* [22] */ /* fn dot[N : num, T : fiu32_f16](vec, vec) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(511), + /* overloads */ OverloadIndex(738), }, { /* [23] */ /* fn dot4I8Packed(u32, u32) -> i32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(512), + /* overloads */ OverloadIndex(739), }, { /* [24] */ /* fn dot4U8Packed(u32, u32) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(513), + /* overloads */ OverloadIndex(740), }, { /* [25] */ /* fn dpdx(f32) -> f32 */ /* fn dpdx[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [26] */ /* fn dpdxCoarse(f32) -> f32 */ /* fn dpdxCoarse[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [27] */ /* fn dpdxFine(f32) -> f32 */ /* fn dpdxFine[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [28] */ /* fn dpdy(f32) -> f32 */ /* fn dpdy[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [29] */ /* fn dpdyCoarse(f32) -> f32 */ /* fn dpdyCoarse[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [30] */ /* fn dpdyFine(f32) -> f32 */ /* fn dpdyFine[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [31] */ /* fn exp[T : f32_f16](T) -> T */ /* fn exp[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(398), + /* overloads */ OverloadIndex(625), }, { /* [32] */ /* fn exp2[T : f32_f16](T) -> T */ /* fn exp2[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(400), + /* overloads */ OverloadIndex(627), }, { /* [33] */ /* fn extractBits[T : iu32](T, u32, u32) -> T */ /* fn extractBits[N : num, T : iu32](vec, u32, u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(402), + /* overloads */ OverloadIndex(629), }, { /* [34] */ /* fn faceForward[N : num, T : f32_f16](vec, vec, vec) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(514), + /* overloads */ OverloadIndex(741), }, { /* [35] */ /* fn firstLeadingBit[T : iu32](T) -> T */ /* fn firstLeadingBit[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(404), + /* overloads */ OverloadIndex(631), }, { /* [36] */ /* fn firstTrailingBit[T : iu32](T) -> T */ /* fn firstTrailingBit[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(406), + /* overloads */ OverloadIndex(633), }, { /* [37] */ /* fn floor[T : f32_f16](@test_value(1.5) T) -> T */ /* fn floor[N : num, T : f32_f16](@test_value(1.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(408), + /* overloads */ OverloadIndex(635), }, { /* [38] */ /* fn fma[T : f32_f16](T, T, T) -> T */ /* fn fma[N : num, T : f32_f16](vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(410), + /* overloads */ OverloadIndex(637), }, { /* [39] */ /* fn fract[T : f32_f16](@test_value(1.25) T) -> T */ /* fn fract[N : num, T : f32_f16](@test_value(1.25) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(412), + /* overloads */ OverloadIndex(639), }, { /* [40] */ /* fn frexp[T : f32_f16](T) -> __frexp_result */ /* fn frexp[N : num, T : f32_f16](vec) -> __frexp_result_vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(414), + /* overloads */ OverloadIndex(641), }, { /* [41] */ /* fn fwidth(f32) -> f32 */ /* fn fwidth[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [42] */ /* fn fwidthCoarse(f32) -> f32 */ /* fn fwidthCoarse[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [43] */ /* fn fwidthFine(f32) -> f32 */ /* fn fwidthFine[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(396), + /* overloads */ OverloadIndex(623), }, { /* [44] */ /* fn insertBits[T : iu32](T, T, u32, u32) -> T */ /* fn insertBits[N : num, T : iu32](vec, vec, u32, u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(416), + /* overloads */ OverloadIndex(643), }, { /* [45] */ /* fn inverseSqrt[T : f32_f16](T) -> T */ /* fn inverseSqrt[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(418), + /* overloads */ OverloadIndex(645), }, { /* [46] */ /* fn ldexp[T : f32_f16, U : i32](T, U) -> T */ /* fn ldexp[N : num, T : f32_f16, U : i32](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(420), + /* overloads */ OverloadIndex(647), }, { /* [47] */ /* fn length[T : f32_f16](@test_value(0) T) -> T */ /* fn length[N : num, T : f32_f16](@test_value(0) vec) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(422), + /* overloads */ OverloadIndex(649), }, { /* [48] */ /* fn log[T : f32_f16](T) -> T */ /* fn log[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(424), + /* overloads */ OverloadIndex(651), }, { /* [49] */ /* fn log2[T : f32_f16](T) -> T */ /* fn log2[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(426), + /* overloads */ OverloadIndex(653), }, { /* [50] */ /* fn max[T : fiu32_f16](T, T) -> T */ /* fn max[N : num, T : fiu32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(428), + /* overloads */ OverloadIndex(655), }, { /* [51] */ /* fn min[T : fiu32_f16](T, T) -> T */ /* fn min[N : num, T : fiu32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(430), + /* overloads */ OverloadIndex(657), }, { /* [52] */ @@ -12540,128 +19496,128 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn mix[N : num, T : f32_f16](vec, vec, vec) -> vec */ /* fn mix[N : num, T : f32_f16](vec, vec, T) -> vec */ /* num overloads */ 3, - /* overloads */ OverloadIndex(334), + /* overloads */ OverloadIndex(561), }, { /* [53] */ /* fn modf[T : f32_f16](@test_value(-1.5) T) -> __modf_result */ /* fn modf[N : num, T : f32_f16](@test_value(-1.5) vec) -> __modf_result_vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(432), + /* overloads */ OverloadIndex(659), }, { /* [54] */ /* fn normalize[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(515), + /* overloads */ OverloadIndex(742), }, { /* [55] */ /* fn pack2x16float(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(516), + /* overloads */ OverloadIndex(743), }, { /* [56] */ /* fn pack2x16snorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(517), + /* overloads */ OverloadIndex(744), }, { /* [57] */ /* fn pack2x16unorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(518), + /* overloads */ OverloadIndex(745), }, { /* [58] */ /* fn pack4x8snorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(519), + /* overloads */ OverloadIndex(746), }, { /* [59] */ /* fn pack4x8unorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(520), + /* overloads */ OverloadIndex(747), }, { /* [60] */ /* fn pack4xI8(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(521), + /* overloads */ OverloadIndex(748), }, { /* [61] */ /* fn pack4xU8(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(522), + /* overloads */ OverloadIndex(749), }, { /* [62] */ /* fn pack4xI8Clamp(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(523), + /* overloads */ OverloadIndex(750), }, { /* [63] */ /* fn pack4xU8Clamp(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(524), + /* overloads */ OverloadIndex(751), }, { /* [64] */ /* fn pow[T : f32_f16](T, T) -> T */ /* fn pow[N : num, T : f32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(434), + /* overloads */ OverloadIndex(661), }, { /* [65] */ /* fn quantizeToF16(f32) -> f32 */ /* fn quantizeToF16[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(436), + /* overloads */ OverloadIndex(663), }, { /* [66] */ /* fn radians[T : f32_f16](T) -> T */ /* fn radians[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(438), + /* overloads */ OverloadIndex(665), }, { /* [67] */ /* fn reflect[N : num, T : f32_f16](vec, vec) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(525), + /* overloads */ OverloadIndex(752), }, { /* [68] */ /* fn refract[N : num, T : f32_f16](vec, vec, T) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(526), + /* overloads */ OverloadIndex(753), }, { /* [69] */ /* fn reverseBits[T : iu32](T) -> T */ /* fn reverseBits[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(440), + /* overloads */ OverloadIndex(667), }, { /* [70] */ /* fn round[T : f32_f16](@test_value(3.5) T) -> T */ /* fn round[N : num, T : f32_f16](@test_value(3.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(442), + /* overloads */ OverloadIndex(669), }, { /* [71] */ /* fn saturate[T : f32_f16](@test_value(2) T) -> T */ /* fn saturate[T : f32_f16, N : num](@test_value(2) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(444), + /* overloads */ OverloadIndex(671), }, { /* [72] */ @@ -12669,136 +19625,136 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn select[T : scalar, N : num](vec, vec, bool) -> vec */ /* fn select[N : num, T : scalar](vec, vec, vec) -> vec */ /* num overloads */ 3, - /* overloads */ OverloadIndex(337), + /* overloads */ OverloadIndex(564), }, { /* [73] */ /* fn sign[T : fi32_f16](T) -> T */ /* fn sign[N : num, T : fi32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(446), + /* overloads */ OverloadIndex(673), }, { /* [74] */ /* fn sin[T : f32_f16](@test_value(1.57079632679) T) -> T */ /* fn sin[N : num, T : f32_f16](@test_value(1.57079632679) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(448), + /* overloads */ OverloadIndex(675), }, { /* [75] */ /* fn sinh[T : f32_f16](T) -> T */ /* fn sinh[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(450), + /* overloads */ OverloadIndex(677), }, { /* [76] */ /* fn smoothstep[T : f32_f16](@test_value(2) T, @test_value(4) T, @test_value(3) T) -> T */ /* fn smoothstep[N : num, T : f32_f16](@test_value(2) vec, @test_value(4) vec, @test_value(3) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(452), + /* overloads */ OverloadIndex(679), }, { /* [77] */ /* fn sqrt[T : f32_f16](T) -> T */ /* fn sqrt[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(454), + /* overloads */ OverloadIndex(681), }, { /* [78] */ /* fn step[T : f32_f16](T, T) -> T */ /* fn step[N : num, T : f32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(456), + /* overloads */ OverloadIndex(683), }, { /* [79] */ - /* fn storageBarrier() */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(527), - }, - { - /* [80] */ /* fn tan[T : f32_f16](T) -> T */ /* fn tan[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(458), + /* overloads */ OverloadIndex(685), }, { - /* [81] */ + /* [80] */ /* fn tanh[T : f32_f16](T) -> T */ /* fn tanh[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(460), + /* overloads */ OverloadIndex(687), + }, + { + /* [81] */ + /* fn transpose[M : num, N : num, T : f32_f16](mat) -> mat */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(754), }, { /* [82] */ - /* fn transpose[M : num, N : num, T : f32_f16](mat) -> mat */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(528), - }, - { - /* [83] */ /* fn trunc[T : f32_f16](@test_value(1.5) T) -> T */ /* fn trunc[N : num, T : f32_f16](@test_value(1.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(462), + /* overloads */ OverloadIndex(689), + }, + { + /* [83] */ + /* fn unpack2x16float(u32) -> vec2 */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(755), }, { /* [84] */ - /* fn unpack2x16float(u32) -> vec2 */ + /* fn unpack2x16snorm(u32) -> vec2 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(529), + /* overloads */ OverloadIndex(756), }, { /* [85] */ - /* fn unpack2x16snorm(u32) -> vec2 */ + /* fn unpack2x16unorm(u32) -> vec2 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(530), + /* overloads */ OverloadIndex(757), }, { /* [86] */ - /* fn unpack2x16unorm(u32) -> vec2 */ + /* fn unpack4x8snorm(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(531), + /* overloads */ OverloadIndex(758), }, { /* [87] */ - /* fn unpack4x8snorm(u32) -> vec4 */ + /* fn unpack4x8unorm(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(532), + /* overloads */ OverloadIndex(759), }, { /* [88] */ - /* fn unpack4x8unorm(u32) -> vec4 */ + /* fn unpack4xI8(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(533), + /* overloads */ OverloadIndex(760), }, { /* [89] */ - /* fn unpack4xI8(u32) -> vec4 */ + /* fn unpack4xU8(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(534), + /* overloads */ OverloadIndex(761), }, { /* [90] */ - /* fn unpack4xU8(u32) -> vec4 */ + /* fn storageBarrier() */ /* num overloads */ 1, - /* overloads */ OverloadIndex(535), + /* overloads */ OverloadIndex(762), }, { /* [91] */ /* fn workgroupBarrier() */ /* num overloads */ 1, - /* overloads */ OverloadIndex(527), + /* overloads */ OverloadIndex(762), }, { /* [92] */ /* fn textureBarrier() */ /* num overloads */ 1, - /* overloads */ OverloadIndex(527), + /* overloads */ OverloadIndex(762), }, { /* [93] */ @@ -12814,6 +19770,18 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_cube, level: L) -> vec2 */ /* fn textureDimensions[T : fiu32](texture: texture_cube_array) -> vec2 */ /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_cube_array, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_1d_filtered) -> u32 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_1d_filtered, level: L) -> u32 */ + /* fn textureDimensions[K : texture_filter](texture: texture_2d_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_2d_filtered, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_2d_array_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_2d_array_filtered, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_3d_filtered) -> vec3 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_3d_filtered, level: L) -> vec3 */ + /* fn textureDimensions[K : texture_filter](texture: texture_cube_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_cube_filtered, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_cube_array_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_cube_array_filtered, level: L) -> vec2 */ /* fn textureDimensions[T : fiu32](texture: texture_multisampled_2d) -> vec2 */ /* fn textureDimensions(texture: texture_depth_2d) -> vec2 */ /* fn textureDimensions[L : iu32](texture: texture_depth_2d, level: L) -> vec2 */ @@ -12824,31 +19792,60 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureDimensions(texture: texture_depth_cube_array) -> vec2 */ /* fn textureDimensions[L : iu32](texture: texture_depth_cube_array, level: L) -> vec2 */ /* fn textureDimensions(texture: texture_depth_multisampled_2d) -> vec2 */ - /* fn textureDimensions[F : texel_format, A : access](texture: texture_storage_1d) -> u32 */ - /* fn textureDimensions[F : texel_format, A : access](texture: texture_storage_2d) -> vec2 */ - /* fn textureDimensions[F : texel_format, A : access](texture: texture_storage_2d_array) -> vec2 */ - /* fn textureDimensions[F : texel_format, A : access](texture: texture_storage_3d) -> vec3 */ - /* fn textureDimensions[F : texel_format, A : access](texture: texel_buffer) -> u32 */ + /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_1d) -> u32 */ + /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_2d) -> vec2 */ + /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_2d_array) -> vec2 */ + /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_3d) -> vec3 */ + /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_1d) -> u32 */ + /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_2d) -> vec2 */ + /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_2d_array) -> vec2 */ + /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_3d) -> vec3 */ + /* fn textureDimensions[F : texel_format, R : read](texture: texel_buffer) -> u32 */ + /* fn textureDimensions[F : texel_format, W : writable](texture: texel_buffer) -> u32 */ /* fn textureDimensions(texture: texture_external) -> vec2 */ - /* num overloads */ 28, - /* overloads */ OverloadIndex(0), + /* num overloads */ 45, + /* overloads */ OverloadIndex(102), }, { /* [94] */ /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureGather[T : fiu32, C : iu32, K : sampler_filter](@const component: C, texture: texture_2d, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureGather[T : f32, F : texture_filter, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureGather[T : f32, K : sampler_filter, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : fiu32, C : iu32, K : sampler_filter](@const component: C, texture: texture_2d, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, F : texture_filter](@const component: C, texture: texture_2d_filtered, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, K : sampler_filter](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : fiu32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, F : texture_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : fiu32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, F : texture_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_cube, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureGather[T : fiu32, C : iu32, K : sampler_filter](@const component: C, texture: texture_cube, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureGather[T : f32, F : texture_filter, C : iu32](@const component: C, texture: texture_cube_filtered, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureGather[T : f32, K : sampler_filter, C : iu32](@const component: C, texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureGather[T : f32, C : iu32](@const component: C, texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : fiu32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, F : texture_filter](@const component: C, texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32](@const component: C, texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2) -> vec4 */ /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ /* fn textureGather[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ /* fn textureGather[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ /* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3) -> vec4 */ /* fn textureGather[A : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ - /* num overloads */ 12, - /* overloads */ OverloadIndex(112), + /* num overloads */ 36, + /* overloads */ OverloadIndex(270), }, { /* [95] */ @@ -12859,17 +19856,20 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> vec4 */ /* fn textureGatherCompare[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> vec4 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(203), + /* overloads */ OverloadIndex(429), }, { /* [96] */ /* fn textureNumLayers[T : fiu32](texture: texture_2d_array) -> u32 */ /* fn textureNumLayers[T : fiu32](texture: texture_cube_array) -> u32 */ + /* fn textureNumLayers[F : texture_filter](texture: texture_2d_array_filtered) -> u32 */ + /* fn textureNumLayers[F : texture_filter](texture: texture_cube_array_filtered) -> u32 */ /* fn textureNumLayers(texture: texture_depth_2d_array) -> u32 */ /* fn textureNumLayers(texture: texture_depth_cube_array) -> u32 */ - /* fn textureNumLayers[F : texel_format, A : access](texture: texture_storage_2d_array) -> u32 */ - /* num overloads */ 5, - /* overloads */ OverloadIndex(287), + /* fn textureNumLayers[F : texel_format, R : read](texture: texture_storage_2d_array) -> u32 */ + /* fn textureNumLayers[F : texel_format, W : writable](texture: texture_storage_2d_array) -> u32 */ + /* num overloads */ 8, + /* overloads */ OverloadIndex(421), }, { /* [97] */ @@ -12879,52 +19879,126 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureNumLevels[T : fiu32](texture: texture_3d) -> u32 */ /* fn textureNumLevels[T : fiu32](texture: texture_cube) -> u32 */ /* fn textureNumLevels[T : fiu32](texture: texture_cube_array) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_1d_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_2d_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_2d_array_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_3d_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_cube_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_cube_array_filtered) -> u32 */ /* fn textureNumLevels(texture: texture_depth_2d) -> u32 */ /* fn textureNumLevels(texture: texture_depth_2d_array) -> u32 */ /* fn textureNumLevels(texture: texture_depth_cube) -> u32 */ /* fn textureNumLevels(texture: texture_depth_cube_array) -> u32 */ - /* num overloads */ 10, - /* overloads */ OverloadIndex(159), + /* num overloads */ 16, + /* overloads */ OverloadIndex(346), }, { /* [98] */ /* fn textureNumSamples[T : fiu32](texture: texture_multisampled_2d) -> u32 */ /* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */ /* num overloads */ 2, - /* overloads */ OverloadIndex(464), + /* overloads */ OverloadIndex(691), }, { /* [99] */ /* fn textureSample(texture: texture_1d, sampler: sampler, coords: f32) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_1d, sampler: sampler_filtered, coords: f32) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_1d_filtered, sampler: sampler, coords: f32) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32) -> vec4 */ + /* fn textureSample(texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32) -> vec4 */ /* fn textureSample(texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSample(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ /* fn textureSample(texture: texture_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ /* fn textureSample[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[F : texture_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ /* fn textureSample[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[F : texture_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ /* fn textureSample(texture: texture_3d, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ /* fn textureSample(texture: texture_3d, sampler: sampler, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, @const offset: vec3) -> vec4 */ /* fn textureSample(texture: texture_cube, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ /* fn textureSample[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[F : texture_filter, A : iu32](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2) -> f32 */ /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> f32 */ /* fn textureSample[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A) -> f32 */ /* fn textureSample[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> f32 */ /* fn textureSample(texture: texture_depth_cube, sampler: sampler, coords: vec3) -> f32 */ /* fn textureSample[A : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A) -> f32 */ - /* num overloads */ 15, - /* overloads */ OverloadIndex(52), + /* num overloads */ 51, + /* overloads */ OverloadIndex(0), }, { /* [100] */ /* fn textureSampleBias(texture: texture_2d, sampler: sampler, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32) -> vec4 */ /* fn textureSampleBias(texture: texture_2d, sampler: sampler, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleBias[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32) -> vec4 */ /* fn textureSampleBias[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleBias(texture: texture_3d, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ /* fn textureSampleBias(texture: texture_3d, sampler: sampler, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ /* fn textureSampleBias(texture: texture_cube, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ /* fn textureSampleBias[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A, bias: f32) -> vec4 */ - /* num overloads */ 8, - /* overloads */ OverloadIndex(187), + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, F : texture_filter](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* num overloads */ 40, + /* overloads */ OverloadIndex(190), }, { /* [101] */ @@ -12935,7 +20009,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 */ /* fn textureSampleCompare[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> f32 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(209), + /* overloads */ OverloadIndex(435), }, { /* [102] */ @@ -12946,67 +20020,139 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 */ /* fn textureSampleCompareLevel[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> f32 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(215), + /* overloads */ OverloadIndex(441), }, { /* [103] */ /* fn textureSampleGrad(texture: texture_2d, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad(texture: texture_2d_filtered, sampler: sampler_filtered, 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[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ /* fn textureSampleGrad[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ /* fn textureSampleGrad[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ /* fn textureSampleGrad(texture: texture_3d, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ /* fn textureSampleGrad(texture: texture_3d, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ /* fn textureSampleGrad(texture: texture_cube, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ /* fn textureSampleGrad[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ - /* num overloads */ 8, - /* overloads */ OverloadIndex(195), + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[A : iu32, F : texture_filter](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* num overloads */ 40, + /* overloads */ OverloadIndex(230), }, { /* [104] */ /* fn textureSampleLevel(texture: texture_1d, sampler: sampler, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_1d, sampler: sampler_filtered, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_1d_filtered, sampler: sampler, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleLevel[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32) -> vec4 */ /* fn textureSampleLevel[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleLevel(texture: texture_3d, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_3d, sampler: sampler, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ /* fn textureSampleLevel(texture: texture_cube, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ /* fn textureSampleLevel[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, F : texture_filter](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, level: f32) -> vec4 */ /* fn textureSampleLevel[L : iu32](texture: texture_depth_2d, sampler: sampler, coords: vec2, level: L) -> f32 */ /* fn textureSampleLevel[L : iu32](texture: texture_depth_2d, sampler: sampler, coords: vec2, level: L, @const offset: vec2) -> f32 */ /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, level: L) -> f32 */ /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, level: L, @const offset: vec2) -> f32 */ /* fn textureSampleLevel[L : iu32](texture: texture_depth_cube, sampler: sampler, coords: vec3, level: L) -> f32 */ /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A, level: L) -> f32 */ - /* num overloads */ 15, - /* overloads */ OverloadIndex(67), + /* num overloads */ 51, + /* overloads */ OverloadIndex(51), }, { /* [105] */ /* fn textureSampleBaseClampToEdge(texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ /* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2) -> vec4 */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(466), + /* num overloads */ 6, + /* overloads */ OverloadIndex(447), }, { /* [106] */ - /* fn textureStore[C : iu32](texture: texture_storage_1d, coords: C, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_2d, coords: vec2, value: vec4) */ - /* fn textureStore[C : iu32, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_3d, coords: vec3, value: vec4) */ - /* fn textureStore[C : iu32](texture: texel_buffer, coords: C, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_1d, coords: C, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_2d, coords: vec2, value: vec4) */ - /* fn textureStore[C : iu32, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_3d, coords: vec3, value: vec4) */ - /* fn textureStore[C : iu32](texture: texel_buffer, coords: C, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_1d, coords: C, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_2d, coords: vec2, value: vec4) */ - /* fn textureStore[C : iu32, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ - /* fn textureStore[C : iu32](texture: texture_storage_3d, coords: vec3, value: vec4) */ - /* fn textureStore[C : iu32](texture: texel_buffer, coords: C, value: vec4) */ + /* fn textureStore[C : iu32, F : f32_texel_format, W : writable](texture: texture_storage_1d, coords: C, value: vec4) */ + /* fn textureStore[C : iu32, F : f32_texel_format, W : writable](texture: texture_storage_2d, coords: vec2, value: vec4) */ + /* fn textureStore[C : iu32, F : f32_texel_format, W : writable, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ + /* fn textureStore[C : iu32, F : f32_texel_format, W : writable](texture: texture_storage_3d, coords: vec3, value: vec4) */ + /* fn textureStore[C : iu32, F : f32_texel_format, RW : read_write](texture: texel_buffer, coords: C, value: vec4) */ + /* fn textureStore[C : iu32, F : i32_texel_format, W : writable](texture: texture_storage_1d, coords: C, value: vec4) */ + /* fn textureStore[C : iu32, F : i32_texel_format, W : writable](texture: texture_storage_2d, coords: vec2, value: vec4) */ + /* fn textureStore[C : iu32, F : i32_texel_format, W : writable, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ + /* fn textureStore[C : iu32, F : i32_texel_format, W : writable](texture: texture_storage_3d, coords: vec3, value: vec4) */ + /* fn textureStore[C : iu32, F : i32_texel_format, RW : read_write](texture: texel_buffer, coords: C, value: vec4) */ + /* fn textureStore[C : iu32, F : u32_texel_format, W : writable](texture: texture_storage_1d, coords: C, value: vec4) */ + /* fn textureStore[C : iu32, F : u32_texel_format, W : writable](texture: texture_storage_2d, coords: vec2, value: vec4) */ + /* fn textureStore[C : iu32, F : u32_texel_format, W : writable, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A, value: vec4) */ + /* fn textureStore[C : iu32, F : u32_texel_format, W : writable](texture: texture_storage_3d, coords: vec3, value: vec4) */ + /* fn textureStore[C : iu32, F : u32_texel_format, RW : read_write](texture: texel_buffer, coords: C, value: vec4) */ /* num overloads */ 15, - /* overloads */ OverloadIndex(82), + /* overloads */ OverloadIndex(362), }, { /* [107] */ @@ -13014,394 +20160,441 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureLoad[T : fiu32, C : iu32, L : iu32](texture: texture_2d, coords: vec2, level: L) -> vec4 */ /* fn textureLoad[T : fiu32, C : iu32, A : iu32, L : iu32](texture: texture_2d_array, coords: vec2, array_index: A, level: L) -> vec4 */ /* fn textureLoad[T : fiu32, C : iu32, L : iu32](texture: texture_3d, coords: vec3, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, L : iu32, F : texture_filter](texture: texture_1d_filtered, coords: C, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, L : iu32, F : texture_filter](texture: texture_2d_filtered, coords: vec2, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, A : iu32, L : iu32, F : texture_filter](texture: texture_2d_array_filtered, coords: vec2, array_index: A, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, L : iu32, F : texture_filter](texture: texture_3d_filtered, coords: vec3, level: L) -> vec4 */ /* fn textureLoad[T : fiu32, C : iu32, S : iu32](texture: texture_multisampled_2d, coords: vec2, sample_index: S) -> vec4 */ /* fn textureLoad[C : iu32, L : iu32](texture: texture_depth_2d, coords: vec2, level: L) -> f32 */ /* fn textureLoad[C : iu32, A : iu32, L : iu32](texture: texture_depth_2d_array, coords: vec2, array_index: A, level: L) -> f32 */ /* fn textureLoad[C : iu32, S : iu32](texture: texture_depth_multisampled_2d, coords: vec2, sample_index: S) -> f32 */ /* fn textureLoad[C : iu32](texture: texture_external, coords: vec2) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_1d, coords: C) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_1d, coords: C) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_1d, coords: C) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_2d, coords: vec2) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_2d, coords: vec2) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_2d, coords: vec2) -> vec4 */ - /* fn textureLoad[C : iu32, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ - /* fn textureLoad[C : iu32, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ - /* fn textureLoad[C : iu32, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_3d, coords: vec3) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_3d, coords: vec3) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texture_storage_3d, coords: vec3) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texel_buffer, coords: C) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texel_buffer, coords: C) -> vec4 */ - /* fn textureLoad[C : iu32](texture: texel_buffer, coords: C) -> vec4 */ - /* num overloads */ 24, - /* overloads */ OverloadIndex(28), + /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texture_storage_1d, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texture_storage_1d, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texture_storage_1d, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texture_storage_2d, coords: vec2) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texture_storage_2d, coords: vec2) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texture_storage_2d, coords: vec2) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, R : read, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, R : read, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, R : read, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texture_storage_3d, coords: vec3) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texture_storage_3d, coords: vec3) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texture_storage_3d, coords: vec3) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, R : read](texture: texel_buffer, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, R : read](texture: texel_buffer, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, R : read](texture: texel_buffer, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texture_storage_1d, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texture_storage_1d, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texture_storage_1d, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texture_storage_2d, coords: vec2) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texture_storage_2d, coords: vec2) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texture_storage_2d, coords: vec2) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write, A : iu32](texture: texture_storage_2d_array, coords: vec2, array_index: A) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texture_storage_3d, coords: vec3) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texture_storage_3d, coords: vec3) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texture_storage_3d, coords: vec3) -> vec4 */ + /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texel_buffer, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texel_buffer, coords: C) -> vec4 */ + /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texel_buffer, coords: C) -> vec4 */ + /* num overloads */ 43, + /* overloads */ OverloadIndex(147), }, { /* [108] */ /* fn inputAttachmentLoad[T : fiu32](input_attachment: input_attachment) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(536), + /* overloads */ OverloadIndex(763), }, { /* [109] */ /* fn atomicLoad[T : iu32, S : workgroup_or_storage](ptr, read_write>) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(537), + /* overloads */ OverloadIndex(764), }, { /* [110] */ /* fn atomicStore[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(538), + /* overloads */ OverloadIndex(765), }, { /* [111] */ /* fn atomicAdd[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [112] */ /* fn atomicSub[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [113] */ /* fn atomicMax[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [114] */ /* fn atomicMin[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [115] */ /* fn atomicAnd[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [116] */ /* fn atomicOr[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [117] */ /* fn atomicXor[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [118] */ /* fn atomicExchange[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(539), + /* overloads */ OverloadIndex(766), }, { /* [119] */ /* fn atomicCompareExchangeWeak[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, T) -> __atomic_compare_exchange_result */ /* num overloads */ 1, - /* overloads */ OverloadIndex(540), + /* overloads */ OverloadIndex(767), }, { /* [120] */ - /* fn subgroupBallot(bool) -> vec4 */ + /* fn atomicStoreMax(ptr, read_write>, u64) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(541), + /* overloads */ OverloadIndex(768), }, { /* [121] */ - /* fn subgroupElect() -> bool */ + /* fn atomicStoreMin(ptr, read_write>, u64) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(542), + /* overloads */ OverloadIndex(768), }, { /* [122] */ - /* fn subgroupBroadcast[T : fiu32_f16](value: T, @const sourceLaneIndex: iu32) -> T */ - /* fn subgroupBroadcast[N : num, T : fiu32_f16](value: vec, @const sourceLaneIndex: iu32) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(468), + /* fn subgroupBallot(bool) -> vec4 */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(769), }, { /* [123] */ - /* fn subgroupBroadcastFirst[T : fiu32_f16](value: T) -> T */ - /* fn subgroupBroadcastFirst[N : num, T : fiu32_f16](value: vec) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* fn subgroupElect() -> bool */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(770), }, { /* [124] */ - /* fn subgroupShuffle[T : fiu32_f16](value: T, sourceLaneIndex: iu32) -> T */ - /* fn subgroupShuffle[N : num, T : fiu32_f16](value: vec, sourceLaneIndex: iu32) -> vec */ + /* fn subgroupBroadcast[T : fiu32_f16](value: T, @const sourceLaneIndex: iu32) -> T */ + /* fn subgroupBroadcast[N : num, T : fiu32_f16](value: vec, @const sourceLaneIndex: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(468), + /* overloads */ OverloadIndex(693), }, { /* [125] */ - /* fn subgroupShuffleXor[T : fiu32_f16](value: T, mask: u32) -> T */ - /* fn subgroupShuffleXor[N : num, T : fiu32_f16](value: vec, mask: u32) -> vec */ + /* fn subgroupBroadcastFirst[T : fiu32_f16](value: T) -> T */ + /* fn subgroupBroadcastFirst[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(472), + /* overloads */ OverloadIndex(695), }, { /* [126] */ - /* fn subgroupShuffleUp[T : fiu32_f16](value: T, delta: u32) -> T */ - /* fn subgroupShuffleUp[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ + /* fn subgroupShuffle[T : fiu32_f16](value: T, sourceLaneIndex: iu32) -> T */ + /* fn subgroupShuffle[N : num, T : fiu32_f16](value: vec, sourceLaneIndex: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(474), + /* overloads */ OverloadIndex(697), }, { /* [127] */ - /* fn subgroupShuffleDown[T : fiu32_f16](value: T, delta: u32) -> T */ - /* fn subgroupShuffleDown[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ + /* fn subgroupShuffleXor[T : fiu32_f16](value: T, mask: u32) -> T */ + /* fn subgroupShuffleXor[N : num, T : fiu32_f16](value: vec, mask: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(474), + /* overloads */ OverloadIndex(699), }, { /* [128] */ - /* fn subgroupAdd[T : fiu32_f16](value: T) -> T */ - /* fn subgroupAdd[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupShuffleUp[T : fiu32_f16](value: T, delta: u32) -> T */ + /* fn subgroupShuffleUp[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(701), }, { /* [129] */ - /* fn subgroupInclusiveAdd[T : fiu32_f16](value: T) -> T */ - /* fn subgroupInclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupShuffleDown[T : fiu32_f16](value: T, delta: u32) -> T */ + /* fn subgroupShuffleDown[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(701), }, { /* [130] */ - /* fn subgroupExclusiveAdd[T : fiu32_f16](value: T) -> T */ - /* fn subgroupExclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupAdd[T : fiu32_f16](value: T) -> T */ + /* fn subgroupAdd[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(695), }, { /* [131] */ - /* fn subgroupMul[T : fiu32_f16](value: T) -> T */ - /* fn subgroupMul[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupInclusiveAdd[T : fiu32_f16](value: T) -> T */ + /* fn subgroupInclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(695), }, { /* [132] */ - /* fn subgroupInclusiveMul[T : fiu32_f16](value: T) -> T */ - /* fn subgroupInclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupExclusiveAdd[T : fiu32_f16](value: T) -> T */ + /* fn subgroupExclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(695), }, { /* [133] */ - /* fn subgroupExclusiveMul[T : fiu32_f16](value: T) -> T */ - /* fn subgroupExclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupMul[T : fiu32_f16](value: T) -> T */ + /* fn subgroupMul[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(695), }, { /* [134] */ - /* fn subgroupAnd[T : iu32](value: T) -> T */ - /* fn subgroupAnd[N : num, T : iu32](value: vec) -> vec */ + /* fn subgroupInclusiveMul[T : fiu32_f16](value: T) -> T */ + /* fn subgroupInclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(476), + /* overloads */ OverloadIndex(695), }, { /* [135] */ - /* fn subgroupOr[T : iu32](value: T) -> T */ - /* fn subgroupOr[N : num, T : iu32](value: vec) -> vec */ + /* fn subgroupExclusiveMul[T : fiu32_f16](value: T) -> T */ + /* fn subgroupExclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(476), + /* overloads */ OverloadIndex(695), }, { /* [136] */ - /* fn subgroupXor[T : iu32](value: T) -> T */ - /* fn subgroupXor[N : num, T : iu32](value: vec) -> vec */ + /* fn subgroupAnd[T : iu32](value: T) -> T */ + /* fn subgroupAnd[N : num, T : iu32](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(476), + /* overloads */ OverloadIndex(703), }, { /* [137] */ - /* fn subgroupMin[T : fiu32_f16](value: T) -> T */ - /* fn subgroupMin[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupOr[T : iu32](value: T) -> T */ + /* fn subgroupOr[N : num, T : iu32](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(703), }, { /* [138] */ - /* fn subgroupMax[T : fiu32_f16](value: T) -> T */ - /* fn subgroupMax[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupXor[T : iu32](value: T) -> T */ + /* fn subgroupXor[N : num, T : iu32](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(703), }, { /* [139] */ - /* fn subgroupAll(bool) -> bool */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(543), + /* fn subgroupMin[T : fiu32_f16](value: T) -> T */ + /* fn subgroupMin[N : num, T : fiu32_f16](value: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(695), }, { /* [140] */ - /* fn subgroupAny(bool) -> bool */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(543), + /* fn subgroupMax[T : fiu32_f16](value: T) -> T */ + /* fn subgroupMax[N : num, T : fiu32_f16](value: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(695), }, { /* [141] */ - /* fn quadBroadcast[T : fiu32_f16](e: T, @const id: iu32) -> T */ - /* fn quadBroadcast[N : num, T : fiu32_f16](e: vec, @const id: iu32) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(478), + /* fn subgroupAll(bool) -> bool */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(771), }, { /* [142] */ - /* fn quadSwapX[T : fiu32_f16](e: T) -> T */ - /* fn quadSwapX[N : num, T : fiu32_f16](e: vec) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* fn subgroupAny(bool) -> bool */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(771), }, { /* [143] */ - /* fn quadSwapY[T : fiu32_f16](e: T) -> T */ - /* fn quadSwapY[N : num, T : fiu32_f16](e: vec) -> vec */ + /* fn quadBroadcast[T : fiu32_f16](e: T, @const id: iu32) -> T */ + /* fn quadBroadcast[N : num, T : fiu32_f16](e: vec, @const id: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(705), }, { /* [144] */ - /* fn quadSwapDiagonal[T : fiu32_f16](e: T) -> T */ - /* fn quadSwapDiagonal[N : num, T : fiu32_f16](e: vec) -> vec */ + /* fn quadSwapX[T : fiu32_f16](e: T) -> T */ + /* fn quadSwapX[N : num, T : fiu32_f16](e: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(707), }, { /* [145] */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, readable>, u32, @const bool, u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, readable>, u32, @const bool, u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, readable>, u32, @const bool, u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, readable>, u32, @const bool, u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, readable>, u32, @const bool, u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, readable>, u32, @const bool, u32) -> T */ - /* num overloads */ 6, - /* overloads */ OverloadIndex(221), + /* fn quadSwapY[T : fiu32_f16](e: T) -> T */ + /* fn quadSwapY[N : num, T : fiu32_f16](e: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(707), }, { /* [146] */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, writable>, u32, subgroup_matrix, @const bool, u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, writable>, u32, subgroup_matrix, @const bool, u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, writable>, u32, subgroup_matrix, @const bool, u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, writable>, u32, subgroup_matrix, @const bool, u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, writable>, u32, subgroup_matrix, @const bool, u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, writable>, u32, subgroup_matrix, @const bool, u32) */ - /* num overloads */ 6, - /* overloads */ OverloadIndex(227), + /* fn quadSwapDiagonal[T : fiu32_f16](e: T) -> T */ + /* fn quadSwapDiagonal[N : num, T : fiu32_f16](e: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(707), }, { /* [147] */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, readable>, offset: u32, @const col_major: bool, stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, readable>, offset: u32, @const col_major: bool, stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, readable>, offset: u32, @const col_major: bool, stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, readable>, offset: u32, @const col_major: bool, stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, readable>, offset: u32, @const col_major: bool, stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, readable>, offset: u32, @const col_major: bool, stride: u32) -> T */ + /* num overloads */ 6, + /* overloads */ OverloadIndex(453), + }, + { + /* [148] */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, stride: u32) */ + /* num overloads */ 6, + /* overloads */ OverloadIndex(459), + }, + { + /* [149] */ /* fn subgroupMatrixMultiply[T : f16, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiply[T : f32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiply[T : iu8, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiply[T : iu32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* num overloads */ 4, - /* overloads */ OverloadIndex(302), + /* overloads */ OverloadIndex(529), }, { - /* [148] */ + /* [150] */ /* fn subgroupMatrixMultiplyAccumulate[T : f16, TR : f32_f16, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiplyAccumulate[T : f32, TR : f32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiplyAccumulate[T : iu8, TR : iu32_iu8, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiplyAccumulate[T : iu32, TR : iu32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* num overloads */ 4, - /* overloads */ OverloadIndex(306), + /* overloads */ OverloadIndex(533), }, { - /* [149] */ + /* [151] */ /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix, s: T) -> subgroup_matrix */ /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, s: i32) -> subgroup_matrix */ /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, s: u32) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(340), + /* overloads */ OverloadIndex(567), }, { - /* [150] */ + /* [152] */ /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix, s: T) -> subgroup_matrix */ /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, s: i32) -> subgroup_matrix */ /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, s: u32) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(340), + /* overloads */ OverloadIndex(567), }, { - /* [151] */ + /* [153] */ /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix, s: T) -> subgroup_matrix */ /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, s: i32) -> subgroup_matrix */ /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, s: u32) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(340), + /* overloads */ OverloadIndex(567), }, { - /* [152] */ + /* [154] */ /* fn bufferView[R : read, AS : uniform_or_storage, O : iu32](ptr, O) -> ptr */ /* fn bufferView[R : read, AS : uniform_or_storage, O : iu32, N : num](ptr, R>, O) -> ptr */ /* fn bufferView[W : read_write, AS : workgroup_or_storage, O : iu32](ptr, O) -> ptr */ /* fn bufferView[W : read_write, AS : workgroup_or_storage, O : iu32, N : num](ptr, W>, O) -> ptr */ /* num overloads */ 4, - /* overloads */ OverloadIndex(310), + /* overloads */ OverloadIndex(537), }, { - /* [153] */ + /* [155] */ /* fn bufferLength[R : read, AS : uniform_or_storage](ptr) -> u32 */ /* fn bufferLength[R : read, AS : uniform_or_storage, N : num](ptr, R>) -> u32 */ /* fn bufferLength[W : read_write, AS : workgroup_or_storage](ptr) -> u32 */ /* fn bufferLength[W : read_write, AS : workgroup_or_storage, N : num](ptr, W>) -> u32 */ /* num overloads */ 4, - /* overloads */ OverloadIndex(314), + /* overloads */ OverloadIndex(541), }, { - /* [154] */ + /* [156] */ /* fn print[T : scalar](T) */ /* fn print[N : num, T : scalar](vec) */ /* num overloads */ 2, - /* overloads */ OverloadIndex(482), + /* overloads */ OverloadIndex(709), }, { - /* [155] */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ + /* [157] */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ - /* num overloads */ 12, - /* overloads */ OverloadIndex(124), + /* fn hasResource[I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : sampler_filter, I : iu32](index: I) -> bool */ + /* num overloads */ 20, + /* overloads */ OverloadIndex(306), }, { - /* [156] */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ + /* [158] */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ - /* num overloads */ 12, - /* overloads */ OverloadIndex(136), + /* fn getResource[I : iu32](index: I) -> S */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : sampler_filter, I : iu32](index: I) -> S */ + /* num overloads */ 20, + /* overloads */ OverloadIndex(326), }, }; @@ -13411,21 +20604,21 @@ constexpr IntrinsicInfo kUnaryOperators[] = { /* op !(bool) -> bool */ /* op ![N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(484), + /* overloads */ OverloadIndex(711), }, { /* [1] */ /* op ~[T : iu32](T) -> T */ /* op ~[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(486), + /* overloads */ OverloadIndex(713), }, { /* [2] */ /* op -[T : fi32_f16](T) -> T */ /* op -[T : fi32_f16, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(488), + /* overloads */ OverloadIndex(715), }, }; constexpr uint8_t kUnaryOperatorNot = 0; @@ -13441,7 +20634,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op +[T : fiu32_f16, N : num](T, vec) -> vec */ /* op +[T : f32_f16, N : num, M : num](mat, mat) -> mat */ /* num overloads */ 5, - /* overloads */ OverloadIndex(292), + /* overloads */ OverloadIndex(519), }, { /* [1] */ @@ -13451,7 +20644,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op -[T : fiu32_f16, N : num](T, vec) -> vec */ /* op -[T : f32_f16, N : num, M : num](mat, mat) -> mat */ /* num overloads */ 5, - /* overloads */ OverloadIndex(297), + /* overloads */ OverloadIndex(524), }, { /* [2] */ @@ -13465,7 +20658,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op *[T : f32_f16, C : num, R : num](vec, mat) -> vec */ /* op *[T : f32_f16, K : num, C : num, R : num](mat, mat) -> mat */ /* num overloads */ 9, - /* overloads */ OverloadIndex(169), + /* overloads */ OverloadIndex(403), }, { /* [3] */ @@ -13474,7 +20667,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op /[T : fiu32_f16, N : num](vec, T) -> vec */ /* op /[T : fiu32_f16, N : num](T, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(318), + /* overloads */ OverloadIndex(545), }, { /* [4] */ @@ -13483,14 +20676,14 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op %[T : fiu32_f16, N : num](vec, T) -> vec */ /* op %[T : fiu32_f16, N : num](T, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(322), + /* overloads */ OverloadIndex(549), }, { /* [5] */ /* op ^[T : iu32](T, T) -> T */ /* op ^[T : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(490), + /* overloads */ OverloadIndex(717), }, { /* [6] */ @@ -13499,7 +20692,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op &[T : iu32](T, T) -> T */ /* op &[T : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(326), + /* overloads */ OverloadIndex(553), }, { /* [7] */ @@ -13508,75 +20701,75 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op |[T : iu32](T, T) -> T */ /* op |[T : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(330), + /* overloads */ OverloadIndex(557), }, { /* [8] */ /* op &&(bool, bool) -> bool */ /* num overloads */ 1, - /* overloads */ OverloadIndex(544), + /* overloads */ OverloadIndex(772), }, { /* [9] */ /* op ||(bool, bool) -> bool */ /* num overloads */ 1, - /* overloads */ OverloadIndex(545), + /* overloads */ OverloadIndex(773), }, { /* [10] */ /* op ==[T : scalar](T, T) -> bool */ /* op ==[T : scalar, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(492), + /* overloads */ OverloadIndex(719), }, { /* [11] */ /* op !=[T : scalar](T, T) -> bool */ /* op !=[T : scalar, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(494), + /* overloads */ OverloadIndex(721), }, { /* [12] */ /* op <[T : fiu32_f16](T, T) -> bool */ /* op <[T : fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(496), + /* overloads */ OverloadIndex(723), }, { /* [13] */ /* op >[T : fiu32_f16](T, T) -> bool */ /* op >[T : fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(498), + /* overloads */ OverloadIndex(725), }, { /* [14] */ /* op <=[T : fiu32_f16](T, T) -> bool */ /* op <=[T : fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(500), + /* overloads */ OverloadIndex(727), }, { /* [15] */ /* op >=[T : fiu32_f16](T, T) -> bool */ /* op >=[T : fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(502), + /* overloads */ OverloadIndex(729), }, { /* [16] */ /* op <<[T : iu32](T, u32) -> T */ /* op <<[T : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(504), + /* overloads */ OverloadIndex(731), }, { /* [17] */ /* op >>[T : iu32](T, u32) -> T */ /* op >>[T : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(506), + /* overloads */ OverloadIndex(733), }, }; constexpr uint8_t kBinaryOperatorPlus = 0; @@ -13605,7 +20798,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor i32(i32) -> i32 */ /* conv i32[T : scalar_no_i32](T) -> i32 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(343), + /* overloads */ OverloadIndex(570), }, { /* [1] */ @@ -13613,7 +20806,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor u32(u32) -> u32 */ /* conv u32[T : scalar_no_u32](T) -> u32 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(346), + /* overloads */ OverloadIndex(573), }, { /* [2] */ @@ -13621,7 +20814,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor f32(f32) -> f32 */ /* conv f32[T : scalar_no_f32](T) -> f32 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(349), + /* overloads */ OverloadIndex(576), }, { /* [3] */ @@ -13629,7 +20822,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor f16(f16) -> f16 */ /* conv f16[T : scalar_no_f16](T) -> f16 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(352), + /* overloads */ OverloadIndex(579), }, { /* [4] */ @@ -13637,7 +20830,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor bool(bool) -> bool */ /* conv bool[T : scalar_no_bool](T) -> bool */ /* num overloads */ 3, - /* overloads */ OverloadIndex(355), + /* overloads */ OverloadIndex(582), }, { /* [5] */ @@ -13651,7 +20844,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv vec2[U : scalar_no_u32](vec2) -> vec2 */ /* conv vec2[U : scalar_no_bool](vec2) -> vec2 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(178), + /* overloads */ OverloadIndex(412), }, { /* [6] */ @@ -13667,7 +20860,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv vec3[U : scalar_no_u32](vec3) -> vec3 */ /* conv vec3[U : scalar_no_bool](vec3) -> vec3 */ /* num overloads */ 11, - /* overloads */ OverloadIndex(148), + /* overloads */ OverloadIndex(392), }, { /* [7] */ @@ -13687,7 +20880,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv vec4[U : scalar_no_u32](vec4) -> vec4 */ /* conv vec4[U : scalar_no_bool](vec4) -> vec4 */ /* num overloads */ 15, - /* overloads */ OverloadIndex(97), + /* overloads */ OverloadIndex(377), }, { /* [8] */ @@ -13698,7 +20891,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat2x2(mat2x2) -> mat2x2 */ /* conv mat2x2(mat2x2) -> mat2x2 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(233), + /* overloads */ OverloadIndex(465), }, { /* [9] */ @@ -13709,7 +20902,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat2x3(mat2x3) -> mat2x3 */ /* conv mat2x3(mat2x3) -> mat2x3 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(239), + /* overloads */ OverloadIndex(471), }, { /* [10] */ @@ -13720,7 +20913,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat2x4(mat2x4) -> mat2x4 */ /* conv mat2x4(mat2x4) -> mat2x4 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(245), + /* overloads */ OverloadIndex(477), }, { /* [11] */ @@ -13731,7 +20924,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat3x2(mat3x2) -> mat3x2 */ /* conv mat3x2(mat3x2) -> mat3x2 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(251), + /* overloads */ OverloadIndex(483), }, { /* [12] */ @@ -13742,7 +20935,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat3x3(mat3x3) -> mat3x3 */ /* conv mat3x3(mat3x3) -> mat3x3 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(489), }, { /* [13] */ @@ -13753,7 +20946,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat3x4(mat3x4) -> mat3x4 */ /* conv mat3x4(mat3x4) -> mat3x4 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(263), + /* overloads */ OverloadIndex(495), }, { /* [14] */ @@ -13764,7 +20957,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat4x2(mat4x2) -> mat4x2 */ /* conv mat4x2(mat4x2) -> mat4x2 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(269), + /* overloads */ OverloadIndex(501), }, { /* [15] */ @@ -13775,7 +20968,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat4x3(mat4x3) -> mat4x3 */ /* conv mat4x3(mat4x3) -> mat4x3 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(275), + /* overloads */ OverloadIndex(507), }, { /* [16] */ @@ -13786,25 +20979,25 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat4x4(mat4x4) -> mat4x4 */ /* conv mat4x4(mat4x4) -> mat4x4 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(281), + /* overloads */ OverloadIndex(513), }, { /* [17] */ /* ctor subgroup_matrix_left() -> subgroup_matrix */ /* num overloads */ 1, - /* overloads */ OverloadIndex(546), + /* overloads */ OverloadIndex(774), }, { /* [18] */ /* ctor subgroup_matrix_right() -> subgroup_matrix */ /* num overloads */ 1, - /* overloads */ OverloadIndex(547), + /* overloads */ OverloadIndex(775), }, { /* [19] */ /* ctor subgroup_matrix_result() -> subgroup_matrix */ /* num overloads */ 1, - /* overloads */ OverloadIndex(548), + /* overloads */ OverloadIndex(776), }, }; diff --git a/3rdparty/dawn/src/tint/lang/core/intrinsic/table.cc b/3rdparty/dawn/src/tint/lang/core/intrinsic/table.cc index cd08fb2d9..c380837d8 100644 --- a/3rdparty/dawn/src/tint/lang/core/intrinsic/table.cc +++ b/3rdparty/dawn/src/tint/lang/core/intrinsic/table.cc @@ -405,7 +405,7 @@ Candidate ScoreOverload(Context& context, auto* matcher_indices = context.data[parameter.matcher_indices]; auto* ty = context.Match(templates, overload, matcher_indices, earliest_eval_stage).Type(args[p]); - parameters.Emplace(ty, parameter.usage); + parameters.Emplace(ty, parameter.usage, parameter.is_const); } return Candidate{score, &overload, templates, parameters}; @@ -521,7 +521,7 @@ void PrintCandidate(StyledText& ss, auto prev_style = ss.Style(); TINT_DEFER(ss << prev_style); - auto& overload = *candidate.overload; + const OverloadInfo& overload = *candidate.overload; TemplateState templates = candidate.templates; @@ -533,11 +533,11 @@ void PrintCandidate(StyledText& ss, if (overload.num_explicit_templates > 0) { ss << "<"; for (size_t i = 0; i < overload.num_explicit_templates; i++) { - const auto& tmpl = context.data[overload.templates + i]; + const TemplateInfo& tmpl = context.data[overload.templates + i]; bool matched = false; if (i < template_args.Length()) { - auto* matcher_indices = context.data[tmpl.matcher_indices]; + const MatcherIndex* matcher_indices = context.data[tmpl.matcher_indices]; matched = (matcher_indices == nullptr) || (context.Match(templates, overload, matcher_indices, earliest_eval_stage) .Type(template_args[i]) != nullptr); @@ -559,8 +559,8 @@ void PrintCandidate(StyledText& ss, bool all_params_match = true; ss << "("; for (size_t i = 0; i < overload.num_parameters; i++) { - const auto& parameter = context.data[overload.parameters + i]; - auto* matcher_indices = context.data[parameter.matcher_indices]; + const ParameterInfo& parameter = context.data[overload.parameters + i]; + const MatcherIndex* matcher_indices = context.data[parameter.matcher_indices]; bool matched = false; if (i < args.Length()) { @@ -588,7 +588,7 @@ void PrintCandidate(StyledText& ss, ss << ")"; if (overload.return_matcher_indices.IsValid()) { ss << " -> "; - auto* matcher_indices = context.data[overload.return_matcher_indices]; + const MatcherIndex* matcher_indices = context.data[overload.return_matcher_indices]; context.Match(templates, overload, matcher_indices, earliest_eval_stage).PrintType(ss); } @@ -615,35 +615,35 @@ void PrintCandidate(StyledText& ss, } for (size_t i = 0; i < overload.num_templates; i++) { - auto& tmpl = context.data[overload.templates + i]; - if (auto* matcher_indices = context.data[tmpl.matcher_indices]) { - separator(); - bool matched = false; - if (tmpl.kind == TemplateInfo::Kind::kType) { - if (auto* ty = templates.Type(i)) { - matched = - (context.Match(templates, overload, matcher_indices, earliest_eval_stage) - .Type(ty) != nullptr); - } - } else { - matched = context.Match(templates, overload, matcher_indices, earliest_eval_stage) - .Num(templates.Num(i)) - .IsValid(); - } - if (matched) { - ss << style::Match(" ✓ ") << style::Plain(" "); - } else { - ss << style::Mismatch(" ✗ ") << style::Plain(" "); - } + const TemplateInfo& tmpl = context.data[overload.templates + i]; + const MatcherIndex* matcher_indices = context.data[tmpl.matcher_indices]; + if (!matcher_indices) { + continue; + } - ss << style::Type(tmpl.name) << style::Plain(" is "); - if (tmpl.kind == TemplateInfo::Kind::kType) { - context.Match(templates, overload, matcher_indices, earliest_eval_stage) - .PrintType(ss); - } else { - context.Match(templates, overload, matcher_indices, earliest_eval_stage) - .PrintNum(ss); + separator(); + bool matched = false; + if (tmpl.kind == TemplateInfo::Kind::kType) { + if (const core::type::Type* ty = templates.Type(i)) { + matched = (context.Match(templates, overload, matcher_indices, earliest_eval_stage) + .Type(ty) != nullptr); } + } else { + matched = context.Match(templates, overload, matcher_indices, earliest_eval_stage) + .Num(templates.Num(i)) + .IsValid(); + } + if (matched) { + ss << style::Match(" ✓ ") << style::Plain(" "); + } else { + ss << style::Mismatch(" ✗ ") << style::Plain(" "); + } + + ss << style::Type(tmpl.name) << style::Plain(" is "); + if (tmpl.kind == TemplateInfo::Kind::kType) { + context.Match(templates, overload, matcher_indices, earliest_eval_stage).PrintType(ss); + } else { + context.Match(templates, overload, matcher_indices, earliest_eval_stage).PrintNum(ss); } } } diff --git a/3rdparty/dawn/src/tint/lang/core/intrinsic/table.h b/3rdparty/dawn/src/tint/lang/core/intrinsic/table.h index 6f950f11e..36fcf9685 100644 --- a/3rdparty/dawn/src/tint/lang/core/intrinsic/table.h +++ b/3rdparty/dawn/src/tint/lang/core/intrinsic/table.h @@ -43,11 +43,6 @@ #include "src/tint/utils/text/string_stream.h" #include "src/tint/utils/text/styled_text.h" -// Forward declarations -namespace tint::diag { -class List; -} // namespace tint::diag - namespace tint::core::intrinsic { /// Overload describes a fully matched builtin function overload @@ -60,12 +55,14 @@ struct Overload { const core::type::Type* const type; /// Parameter usage core::ParameterUsage const usage = core::ParameterUsage::kNone; + /// True if the parameter is required to be const. + const bool is_const; /// Equality operator /// @param other the parameter to compare against /// @returns true if this parameter and @p other are the same bool operator==(const Parameter& other) const { - return type == other.type && usage == other.usage; + return type == other.type && usage == other.usage && is_const == other.is_const; } /// Inequality operator diff --git a/3rdparty/dawn/src/tint/lang/core/intrinsic/table_data.h b/3rdparty/dawn/src/tint/lang/core/intrinsic/table_data.h index da0d06955..552902875 100644 --- a/3rdparty/dawn/src/tint/lang/core/intrinsic/table_data.h +++ b/3rdparty/dawn/src/tint/lang/core/intrinsic/table_data.h @@ -29,6 +29,7 @@ #define SRC_TINT_LANG_CORE_INTRINSIC_TABLE_DATA_H_ #include + #include #include @@ -116,7 +117,7 @@ struct TableIndex { }; /// Index type used to index TableData::template_types -using TemplateIndex = TableIndex; +using TemplateIndex = TableIndex; /// Index type used to index TableData::type_matchers or TableData::number_matchers using MatcherIndex = TableIndex; @@ -161,6 +162,9 @@ struct ParameterInfo { /// The parameter usage (parameter name in definition file) const ParameterUsage usage; + /// True if the parameter is required to be constant. + const bool is_const; + /// Index of the matcher indices that are used to match the parameter types. /// These indices are consumed by the matchers themselves. const MatcherIndicesIndex matcher_indices; @@ -212,7 +216,7 @@ struct IntrinsicInfo { }; /// A IntrinsicInfo with no overloads -static constexpr IntrinsicInfo kNoOverloads{0, OverloadIndex(OverloadIndex::kInvalid)}; +inline constexpr IntrinsicInfo kNoOverloads{0, OverloadIndex(OverloadIndex::kInvalid)}; /// Number is an 32 bit unsigned integer, which can be in one of three states: /// * Invalid - Number has not been assigned a value diff --git a/3rdparty/dawn/src/tint/lang/core/intrinsic/type_matchers.h b/3rdparty/dawn/src/tint/lang/core/intrinsic/type_matchers.h index 7c82d7e24..d89ee23ae 100644 --- a/3rdparty/dawn/src/tint/lang/core/intrinsic/type_matchers.h +++ b/3rdparty/dawn/src/tint/lang/core/intrinsic/type_matchers.h @@ -55,6 +55,7 @@ #include "src/tint/lang/core/type/storage_texture.h" #include "src/tint/lang/core/type/string.h" #include "src/tint/lang/core/type/texture_dimension.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/core/type/u32.h" #include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/u8.h" @@ -128,6 +129,14 @@ inline bool MatchU8(intrinsic::MatchState&, const type::Type* ty) { return ty->IsAnyOf(); } +inline const type::U16* BuildU16(intrinsic::MatchState& state, const type::Type*) { + return state.types.u16(); +} + +inline bool MatchU16(intrinsic::MatchState&, const type::Type* ty) { + return ty->IsAnyOf(); +} + inline bool MatchVec(intrinsic::MatchState&, const type::Type* ty, intrinsic::Number& N, @@ -502,13 +511,38 @@ inline bool MatchSampler(intrinsic::MatchState&, const type::Type* ty) { if (ty->Is()) { return true; } - return ty->Is([](const type::Sampler* s) { return s->Kind() == type::SamplerKind::kSampler; }); + return ty->Is([](const type::Sampler* s) { + return s->Kind() == type::SamplerKind::kSampler && + s->Filtering() == SamplerFiltering::kUndefined; + }); } inline const type::Sampler* BuildSampler(intrinsic::MatchState& state, const type::Type*) { return state.types.sampler(); } +inline bool MatchSamplerFiltered(intrinsic::MatchState&, + const type::Type* ty, + intrinsic::Number& F) { + if (ty->Is()) { + F = intrinsic::Number::any; + return true; + } + if (auto* s = ty->As()) { + if (s->Filtering() != SamplerFiltering::kUndefined) { + F = intrinsic::Number(static_cast(s->Filtering())); + return true; + } + } + return false; +} + +inline const type::Sampler* BuildSamplerFiltered(intrinsic::MatchState& state, + const type::Type*, + intrinsic::Number& F) { + return state.types.sampler(static_cast(F.Value())); +} + inline bool MatchSamplerComparison(intrinsic::MatchState&, const type::Type* ty) { if (ty->Is()) { return true; @@ -531,7 +565,7 @@ inline bool MatchTexture(intrinsic::MatchState&, return true; } if (auto* v = ty->As()) { - if (v->Dim() == dim) { + if (v->Dim() == dim && v->Filterable() == TextureFilterable::kUndefined) { T = v->Type(); return true; } @@ -559,6 +593,50 @@ DECLARE_SAMPLED_TEXTURE(Cube, type::TextureDimension::kCube) DECLARE_SAMPLED_TEXTURE(CubeArray, type::TextureDimension::kCubeArray) #undef DECLARE_SAMPLED_TEXTURE +inline bool MatchTextureFiltered(intrinsic::MatchState&, + const type::Type* ty, + type::TextureDimension dim, + const type::Type*& T, + intrinsic::Number& F) { + if (ty->Is()) { + T = ty; + F = intrinsic::Number::any; + return true; + } + if (auto* v = ty->As()) { + if (v->Dim() == dim && v->Filterable() != TextureFilterable::kUndefined) { + T = v->Type(); + F = intrinsic::Number(static_cast(v->Filterable())); + return true; + } + } + return false; +} + +#define JOIN2(a, b, c) a##b##c + +#define DECLARE_SAMPLED_TEXTURE_FILTERED(suffix, dim) \ + inline bool JOIN2(MatchTexture, suffix, Filtered)(intrinsic::MatchState & state, \ + const type::Type* ty, const type::Type*& T, \ + intrinsic::Number& F) { \ + return MatchTextureFiltered(state, ty, dim, T, F); \ + } \ + inline const type::SampledTexture* JOIN2(BuildTexture, suffix, Filtered)( \ + intrinsic::MatchState & state, const type::Type*, const type::Type* T, \ + intrinsic::Number& F) { \ + return state.types.sampled_texture(dim, T, \ + static_cast(F.Value())); \ + } + +DECLARE_SAMPLED_TEXTURE_FILTERED(1D, type::TextureDimension::k1d) +DECLARE_SAMPLED_TEXTURE_FILTERED(2D, type::TextureDimension::k2d) +DECLARE_SAMPLED_TEXTURE_FILTERED(2DArray, type::TextureDimension::k2dArray) +DECLARE_SAMPLED_TEXTURE_FILTERED(3D, type::TextureDimension::k3d) +DECLARE_SAMPLED_TEXTURE_FILTERED(Cube, type::TextureDimension::kCube) +DECLARE_SAMPLED_TEXTURE_FILTERED(CubeArray, type::TextureDimension::kCubeArray) +#undef DECLARE_SAMPLED_TEXTURE_FILTERED +#undef JOIN2 + inline bool MatchTextureMultisampled(intrinsic::MatchState&, const type::Type* ty, type::TextureDimension dim, diff --git a/3rdparty/dawn/src/tint/lang/core/ir/builder.h b/3rdparty/dawn/src/tint/lang/core/ir/builder.h index 988d62959..eeef07293 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/builder.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/builder.h @@ -83,6 +83,7 @@ #include "src/tint/lang/core/type/memory_view.h" #include "src/tint/lang/core/type/pointer.h" // IWYU pragma: export #include "src/tint/lang/core/type/type.h" // IWYU pragma: export +#include "src/tint/lang/core/type/u16.h" // IWYU pragma: export #include "src/tint/lang/core/type/u32.h" // IWYU pragma: export #include "src/tint/lang/core/type/u64.h" // IWYU pragma: export #include "src/tint/lang/core/type/u8.h" // IWYU pragma: export @@ -380,6 +381,11 @@ class Builder { /// @returns the new constant ir::Constant* Constant(core::u8 v) { return Constant(ConstantValue(v)); } + /// Creates a ir::Constant for a u16 Scalar + /// @param v the value + /// @returns the new constant + ir::Constant* Constant(core::u16 v) { return Constant(ConstantValue(v)); } + /// Creates a ir::Constant for a f32 Scalar /// @param v the value /// @returns the new constant @@ -433,6 +439,11 @@ class Builder { /// @returns the new constant const core::constant::Value* ConstantValue(core::u8 v) { return ir.constant_values.Get(v); } + /// Creates a core::constant::Value for a u16 Scalar + /// @param v the value + /// @returns the new constant + const core::constant::Value* ConstantValue(core::u16 v) { return ir.constant_values.Get(v); } + /// Creates a core::constant::Value for a f32 Scalar /// @param v the value /// @returns the new constant @@ -1346,6 +1357,22 @@ class Builder { return val->Type()->Equals(*to) ? val : Convert(to, val)->Result(); } + /// Adds a call to bitcast if destination type is different then the value's type + /// @param to the type converted to + /// @param val the value to be converted + /// @returns either result of the conversion or original value + ir::Value* InsertBitcastIfNeeded(const core::type::Type* to, ir::Value* val) { + return val->Type()->Equals(*to) ? val : Bitcast(to, val)->Result(); + } + + /// Adds a call to bitcast if destination type is different then the instruction's type + /// @param to the type converted to + /// @param inst the instruction to be converted + /// @returns either result of the conversion or original instruction + ir::Instruction* InsertBitcastIfNeeded(const core::type::Type* to, ir::Instruction* inst) { + return inst->Result()->Type()->Equals(*to) ? inst : Bitcast(to, inst); + } + /// Creates a value constructor instruction with an existing instruction result /// @param result the instruction result to use /// @param args the arguments to the constructor diff --git a/3rdparty/dawn/src/tint/lang/core/ir/constant.cc b/3rdparty/dawn/src/tint/lang/core/ir/constant.cc index 97907e4a8..41e545e1c 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/constant.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/constant.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/core/ir/constant.h" + #include "src/tint/utils/ice/ice.h" TINT_INSTANTIATE_TYPEINFO(tint::core::ir::Constant); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/core_builtin_call.cc b/3rdparty/dawn/src/tint/lang/core/ir/core_builtin_call.cc index 3922f5f74..e56be6108 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/core_builtin_call.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/core_builtin_call.cc @@ -85,6 +85,8 @@ tint::core::ir::Instruction::Accesses CoreBuiltinCall::GetSideEffects() const { case BuiltinFn::kAtomicXor: case BuiltinFn::kAtomicExchange: case BuiltinFn::kAtomicCompareExchangeWeak: + case BuiltinFn::kAtomicStoreMax: + case BuiltinFn::kAtomicStoreMin: case BuiltinFn::kDpdx: case BuiltinFn::kDpdxCoarse: case BuiltinFn::kDpdxFine: diff --git a/3rdparty/dawn/src/tint/lang/core/ir/disassembler.cc b/3rdparty/dawn/src/tint/lang/core/ir/disassembler.cc index 73d525fbd..84ffdd85c 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/disassembler.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/disassembler.cc @@ -449,6 +449,9 @@ StyledText Disassembler::ValueToStyledText(const Value* val) { [&](const core::constant::Scalar* scalar) { text << StyleLiteral(u32(scalar->ValueAs().value), "u8"); }, + [&](const core::constant::Scalar* scalar) { + text << StyleLiteral(u32(scalar->ValueAs().value), "u16"); + }, [&](const core::constant::Scalar* scalar) { text << StyleLiteral(scalar->ValueAs().value, "f"); }, diff --git a/3rdparty/dawn/src/tint/lang/core/ir/evaluator.cc b/3rdparty/dawn/src/tint/lang/core/ir/evaluator.cc index 609dcd60e..36aad94ab 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/evaluator.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/evaluator.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/core/ir/evaluator.h" + #include "src/tint/lang/core/binary_op.h" #include "src/tint/lang/core/ir/constant.h" #include "src/tint/lang/core/ir/constexpr_if.h" diff --git a/3rdparty/dawn/src/tint/lang/core/ir/function.cc b/3rdparty/dawn/src/tint/lang/core/ir/function.cc index 7479ec1db..61a90eb4e 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/function.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/function.cc @@ -27,6 +27,8 @@ #include "src/tint/lang/core/ir/function.h" +#include + #include "src/tint/lang/core/ir/clone_context.h" #include "src/tint/lang/core/ir/module.h" #include "src/tint/utils/containers/predicates.h" diff --git a/3rdparty/dawn/src/tint/lang/core/ir/function.h b/3rdparty/dawn/src/tint/lang/core/ir/function.h index eec67a993..7e335aebd 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/function.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/function.h @@ -30,7 +30,6 @@ #include #include -#include #include "src/tint/lang/core/io_attributes.h" #include "src/tint/lang/core/ir/constant.h" @@ -42,7 +41,6 @@ // Forward declarations namespace tint::core::ir { class Block; -class FunctionTerminator; } // namespace tint::core::ir namespace tint::core::ir { diff --git a/3rdparty/dawn/src/tint/lang/core/ir/if.h b/3rdparty/dawn/src/tint/lang/core/ir/if.h index 70a6992d6..60b7b0c3d 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/if.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/if.h @@ -32,11 +32,6 @@ #include "src/tint/lang/core/ir/control_instruction.h" -// Forward declarations -namespace tint::core::ir { -class MultiInBlock; -} // namespace tint::core::ir - namespace tint::core::ir { /// If instruction. diff --git a/3rdparty/dawn/src/tint/lang/core/ir/module.cc b/3rdparty/dawn/src/tint/lang/core/ir/module.cc index 721164c4a..d3b1afe17 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/module.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/module.cc @@ -28,6 +28,7 @@ #include "src/tint/lang/core/ir/module.h" #include +#include #include #include "src/tint/lang/core/ir/control_instruction.h" @@ -39,19 +40,22 @@ namespace tint::core::ir { namespace { -/// Helper to non-recursively sort a module's function in dependency order. +/// Helper to non-recursively sort a module's functions in dependency order. +template struct FunctionSorter { + using BLOCK = std::conditional_t, const Block, Block>; + /// The dependency-ordered list of functions. - UniqueVector ordered_functions{}; + UniqueVector ordered_functions{}; /// The functions that have been visited and checked for dependencies. - Hashset visited{}; + Hashset visited{}; /// A stack of functions that need to processed and eventually added to the ordered list. - Vector function_stack{}; + Vector function_stack{}; /// Visit a function and check for dependencies, and eventually add it to the ordered list. /// @param func the function to visit - void Visit(Function* func) { + void Visit(FUNCTION* func) { function_stack.Push(func); while (!function_stack.IsEmpty()) { // Visit the next function on the stack, if it hasn't already been visited. @@ -76,15 +80,15 @@ struct FunctionSorter { /// Visit a function body block and look for dependencies. /// @param block the function body to visit - void Visit(Block* block) { - Vector block_stack; + void Visit(BLOCK* block) { + Vector block_stack; block_stack.Push(block); while (!block_stack.IsEmpty()) { auto* current_block = block_stack.Pop(); for (auto* inst : *current_block) { if (auto* control = inst->template As()) { // Enqueue child blocks. - control->ForeachBlock([&](Block* b) { block_stack.Push(b); }); + control->ForeachBlock([&](BLOCK* b) { block_stack.Push(b); }); } else if (auto* call = inst->template As()) { // Enqueue the function that is being called. if (!visited.Contains(call->Target())) { @@ -98,7 +102,7 @@ struct FunctionSorter { /// Sort the functions of a module. /// @param mod the IR module /// @returns the sorted function list - static Vector SortFunctions(Module& mod) { + static Vector SortFunctions(const Module& mod) { FunctionSorter sorter; for (auto& func : mod.functions) { sorter.Visit(func); @@ -175,7 +179,11 @@ Source Module::SourceOf(const Value* value) const { } Vector Module::DependencyOrderedFunctions() { - return FunctionSorter::SortFunctions(*this); + return FunctionSorter::SortFunctions(*this); +} + +Vector Module::DependencyOrderedFunctions() const { + return FunctionSorter::SortFunctions(*this); } void Module::Destroy(Function* func) { diff --git a/3rdparty/dawn/src/tint/lang/core/ir/reflection.h b/3rdparty/dawn/src/tint/lang/core/ir/reflection.h index ad19cdabd..9a0d0ceaf 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/reflection.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/reflection.h @@ -30,25 +30,11 @@ #include +#include "src/tint/api/common/workgroup_info.h" #include "src/tint/lang/core/ir/module.h" #include "src/tint/utils/result.h" namespace tint::core::ir { -/// Workgroup size information -struct WorkgroupInfo { - /// The x-component - uint32_t x = 0; - /// The y-component - uint32_t y = 0; - /// The z-component - uint32_t z = 0; - - /// The needed workgroup storage size - size_t storage_size = 0; - - /// The `@subgroup_size` attribute - std::optional subgroup_size; -}; /// Generate WorkgroupInfo for an IR module input. /// @param ir the workgroup info for the IR module diff --git a/3rdparty/dawn/src/tint/lang/core/ir/switch.h b/3rdparty/dawn/src/tint/lang/core/ir/switch.h index 09900f259..eed7dfba6 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/switch.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/switch.h @@ -36,7 +36,6 @@ // Forward declarations namespace tint::core::ir { class Constant; -class MultiInBlock; } // namespace tint::core::ir namespace tint::core::ir { diff --git a/3rdparty/dawn/src/tint/lang/core/ir/terminator.h b/3rdparty/dawn/src/tint/lang/core/ir/terminator.h index f1ff39959..7028ae6fd 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/terminator.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/terminator.h @@ -32,11 +32,6 @@ #include "src/tint/lang/core/ir/value.h" #include "src/tint/utils/rtti/castable.h" -// Forward declarations -namespace tint::core::ir { -class Block; -} // namespace tint::core::ir - namespace tint::core::ir { /// The base class of all instructions that terminate a block. diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_immediate.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_immediate.cc index 50c9b723c..36f158b5d 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_immediate.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_immediate.cc @@ -350,8 +350,8 @@ Result ArrayLengthFromImmediates( const uint32_t buffer_sizes_offset, const uint32_t buffer_sizes_array_elements_num, const std::unordered_map& bindpoint_to_size_index) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.ArrayLengthFromImmediates", - kArrayLengthFromImmediateCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kArrayLengthFromImmediateCapabilities, + "core.ArrayLengthFromImmediates")); State state{ir, immediate_data_layout, buffer_sizes_offset, buffer_sizes_array_elements_num, bindpoint_to_size_index}; diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.cc index 9337f434c..6272d68f1 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.cc @@ -316,7 +316,7 @@ struct State { const uint32_t size_index = bindpoint_to_size_index.at(info.binding_point); const uint32_t array_index = size_index / 4; const uint32_t vec_index = size_index % 4; - auto* vec_ptr = b.Access>>(BufferSizes(), u32(array_index)); + auto* vec_ptr = b.Access>(BufferSizes(), u32(array_index)); auto* total_buffer_size = b.LoadVectorElement(vec_ptr, u32(vec_index))->Result(); // Calculate actual array length: @@ -361,8 +361,8 @@ Result ArrayLengthFromUniform( Module& ir, BindingPoint ubo_binding, const std::unordered_map& bindpoint_to_size_index) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.ArrayLengthFromUniform", - kArrayLengthFromUniformCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kArrayLengthFromUniformCapabilities, + "core.ArrayLengthFromUniform")); State state{ir, ubo_binding, bindpoint_to_size_index}; state.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.h b/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.h index e6e2cb1f4..9eef2a4d8 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/array_length_from_uniform.h @@ -29,9 +29,9 @@ #define SRC_TINT_LANG_CORE_IR_TRANSFORM_ARRAY_LENGTH_FROM_UNIFORM_H_ #include -#include "src/tint/lang/core/ir/validator.h" #include "src/tint/api/common/binding_point.h" +#include "src/tint/lang/core/ir/validator.h" #include "src/tint/utils/result.h" // Forward declarations. diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/bgra8unorm_polyfill.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/bgra8unorm_polyfill.cc index 571c55223..ce7022272 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/bgra8unorm_polyfill.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/bgra8unorm_polyfill.cc @@ -27,8 +27,6 @@ #include "src/tint/lang/core/ir/transform/bgra8unorm_polyfill.h" -#include - #include "src/tint/lang/core/ir/builder.h" #include "src/tint/lang/core/ir/module.h" #include "src/tint/lang/core/ir/validator.h" @@ -55,167 +53,76 @@ struct State { /// Process the module. void Process() { - // Find module-scope variables that need to be replaced. - if (!ir.root_block->IsEmpty()) { - Vector to_remove; - for (auto inst : *ir.root_block) { - auto* var = inst->As(); - if (!var) { - continue; - } - auto* ptr = var->Result()->Type()->As(); - if (!ptr) { - continue; - } - auto* storage_texture = ptr->StoreType()->As(); - if (storage_texture && - storage_texture->TexelFormat() == core::TexelFormat::kBgra8Unorm) { - ReplaceVar(var, storage_texture); - to_remove.Push(var); - continue; - } - - auto* texel_buffer = ptr->StoreType()->As(); - if (texel_buffer && texel_buffer->TexelFormat() == core::TexelFormat::kBgra8Unorm) { - ReplaceVar(var, texel_buffer); - to_remove.Push(var); - } - } - for (auto* remove : to_remove) { - remove->Destroy(); + // Find module-scope variables that may need to be updated. + for (auto inst : *ir.root_block) { + if (auto* var = inst->As()) { + ChangeTypeIfNeeded(var->Result()); } } - // Find function parameters that need to be replaced. + // Find function parameters that may need to be updated. for (auto& func : ir.functions) { - for (uint32_t index = 0; index < func->Params().Length(); index++) { - auto* param = func->Params()[index]; - auto* storage_texture = param->Type()->As(); - if (storage_texture && - storage_texture->TexelFormat() == core::TexelFormat::kBgra8Unorm) { - ReplaceParameter(func, param, index, storage_texture); - continue; - } - - auto* texel_buffer = param->Type()->As(); - if (texel_buffer && texel_buffer->TexelFormat() == core::TexelFormat::kBgra8Unorm) { - ReplaceParameter(func, param, index, texel_buffer); - } + for (auto* param : func->Params()) { + ChangeTypeIfNeeded(param); } } } - /// Replace a variable declaration with one that uses rgba8unorm instead of bgra8unorm. - /// @param old_var the variable declaration to replace - /// @param bgra8 the bgra8unorm texture type - void ReplaceVar(Var* old_var, const core::type::StorageTexture* bgra8) { - // Redeclare the variable with a rgba8unorm texel format. - auto* rgba8 = - ty.storage_texture(bgra8->Dim(), core::TexelFormat::kRgba8Unorm, bgra8->Access()); - auto* new_var = b.Var(ty.ptr(handle, rgba8)); - auto bp = old_var->BindingPoint(); - new_var->SetBindingPoint(bp->group, bp->binding); - new_var->InsertBefore(old_var); - if (auto name = ir.NameOf(old_var)) { - ir.SetName(new_var, name.NameView()); + /// Update a value's type to use rgba8unorm instead of bgra8unorm if needed. + /// @param value the value that may have a bgra8unorm type + void ChangeTypeIfNeeded(Value* value) { + // Check if the type has a bgra8unorm texel format and create the rgba8unorm equivalent. + auto* rgba8unorm_type = tint::Switch( + value->Type()->UnwrapPtr(), + [&](const core::type::StorageTexture* st) -> const core::type::Type* { + if (st->TexelFormat() == TexelFormat::kBgra8Unorm) { + return ty.storage_texture(st->Dim(), TexelFormat::kRgba8Unorm, st->Access()); + } + return nullptr; + }, + [&](const core::type::TexelBuffer* tb) -> const core::type::Type* { + if (tb->TexelFormat() == TexelFormat::kBgra8Unorm) { + return ty.texel_buffer(TexelFormat::kRgba8Unorm, tb->Access()); + } + return nullptr; + }); + if (!rgba8unorm_type) { + // No change needed. + return; } - // Replace all uses of the old variable with the new one. - ReplaceUses(old_var->Result(), new_var->Result()); - } - - /// Replace a variable declaration with one that uses rgba8unorm instead of bgra8unorm. - /// @param old_var the variable declaration to replace - /// @param bgra8 the bgra8unorm texel buffer type - void ReplaceVar(Var* old_var, const core::type::TexelBuffer* bgra8) { - // Redeclare the variable with a rgba8unorm texel format. - auto* rgba8 = ty.texel_buffer(core::TexelFormat::kRgba8Unorm, bgra8->Access()); - auto* new_var = b.Var(ty.ptr(handle, rgba8)); - auto bp = old_var->BindingPoint(); - new_var->SetBindingPoint(bp->group, bp->binding); - new_var->InsertBefore(old_var); - if (auto name = ir.NameOf(old_var)) { - ir.SetName(new_var, name.NameView()); + // If the original type was a pointer, make the new type a pointer too. + if (value->Type()->Is()) { + rgba8unorm_type = ty.ptr(handle, rgba8unorm_type); } - // Replace all uses of the old variable with the new one. - ReplaceUses(old_var->Result(), new_var->Result()); + // Change the value to use the new rgba8unorm type. + value->SetType(rgba8unorm_type); + + // Update all uses of the value. + UpdateUses(value); } - /// Replace a function parameter with one that uses rgba8unorm instead of bgra8unorm. - /// @param func the function - /// @param old_param the function parameter to replace - /// @param index the index of the function parameter - /// @param bgra8 the bgra8unorm texture type - void ReplaceParameter(Function* func, - FunctionParam* old_param, - uint32_t index, - const core::type::StorageTexture* bgra8) { - // Redeclare the parameter with a rgba8unorm texel format. - auto* rgba8 = - ty.storage_texture(bgra8->Dim(), core::TexelFormat::kRgba8Unorm, bgra8->Access()); - auto* new_param = b.FunctionParam(rgba8); - if (auto name = ir.NameOf(old_param)) { - ir.SetName(new_param, name.NameView()); - } - - Vector new_params = func->Params(); - new_params[index] = new_param; - func->SetParams(std::move(new_params)); - - // Replace all uses of the old parameter with the new one. - ReplaceUses(old_param, new_param); - } - - /// Replace a function parameter with one that uses rgba8unorm instead of bgra8unorm. - /// @param func the function - /// @param old_param the function parameter to replace - /// @param index the index of the function parameter - /// @param bgra8 the bgra8unorm texel buffer type - void ReplaceParameter(Function* func, - FunctionParam* old_param, - uint32_t index, - const core::type::TexelBuffer* bgra8) { - // Redeclare the parameter with a rgba8unorm texel format. - auto* rgba8 = ty.texel_buffer(core::TexelFormat::kRgba8Unorm, bgra8->Access()); - auto* new_param = b.FunctionParam(rgba8); - if (auto name = ir.NameOf(old_param)) { - ir.SetName(new_param, name.NameView()); - } - - Vector new_params = func->Params(); - new_params[index] = new_param; - func->SetParams(std::move(new_params)); - - // Replace all uses of the old parameter with the new one. - ReplaceUses(old_param, new_param); - } - - /// Recursively replace the uses of @p value with @p new_value. - /// @param old_value the value whose usages should be replaced - /// @param new_value the value to use instead - void ReplaceUses(Value* old_value, Value* new_value) { - old_value->ForEachUseUnsorted([&](Usage use) { + /// Recursively update the uses of @p value. + /// @param value the value to update + void UpdateUses(Value* value) { + value->ForEachUseUnsorted([&](Usage use) { tint::Switch( use.instruction, [&](Load* load) { - // Replace load instructions with new ones that have the updated type. - auto* new_load = b.Load(new_value); - new_load->InsertBefore(load); - ReplaceUses(load->Result(), new_load->Result()); - load->Destroy(); + // Update the result type of the load instruction and then update its uses too. + load->Result()->SetType(value->Type()->UnwrapPtr()); + UpdateUses(load->Result()); }, [&](CoreBuiltinCall* call) { - // Replace arguments to builtin functions and add swizzles if necessary. - call->SetOperand(use.operand_index, new_value); if (call->Func() == core::BuiltinFn::kTextureStore) { // Swizzle the value argument of a `textureStore()` builtin. uint32_t index = 2u; - if (auto* tex = old_value->Type()->As()) { + if (auto* tex = value->Type()->As()) { index = core::type::IsTextureArray(tex->Dim()) ? 3u : 2u; } - auto* value = call->Args()[index]; - auto* swizzle = b.Swizzle(value->Type(), value, Vector{2u, 1u, 0u, 3u}); + auto* texel = call->Args()[index]; + auto* swizzle = b.Swizzle(texel->Type(), texel, Vector{2u, 1u, 0u, 3u}); swizzle->InsertBefore(call); call->SetOperand(index, swizzle->Result()); } else if (call->Func() == core::BuiltinFn::kTextureLoad) { @@ -227,9 +134,8 @@ struct State { swizzle->SetOperand(Swizzle::kObjectOperandOffset, call->Result()); } }, - [&](UserCall* call) { - // Just replace arguments to user functions and then stop. - call->SetOperand(use.operand_index, new_value); + [&](UserCall*) { + // Nothing to do since the parameter will already have been updated. }, TINT_ICE_ON_NO_MATCH); }); @@ -240,7 +146,7 @@ struct State { Result Bgra8UnormPolyfill(Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.Bgra8UnormPolyfill", kBgra8UnormPolyfillCapabilities)); + ValidateBeforeIfNeeded(ir, kBgra8UnormPolyfillCapabilities, "core.Bgra8UnormPolyfill")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/binary_polyfill.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/binary_polyfill.cc index ea5e18b2d..5ec228c48 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/binary_polyfill.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/binary_polyfill.cc @@ -200,7 +200,7 @@ struct State { Result BinaryPolyfill(Module& ir, const BinaryPolyfillConfig& config) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.BinaryPolyfill", kBinaryPolyfillCapabilities)); + ValidateBeforeIfNeeded(ir, kBinaryPolyfillCapabilities, "core.BinaryPolyfill")); State{config, ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/binding_remapper.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/binding_remapper.cc index ad394b0c6..8f424880e 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/binding_remapper.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/binding_remapper.cc @@ -73,7 +73,7 @@ Result BindingRemapper( Module& ir, const std::unordered_map& binding_points) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.BindingRemapper", kBindingRemapperCapabilities)); + ValidateBeforeIfNeeded(ir, kBindingRemapperCapabilities, "core.BindingRemapper")); Run(ir, binding_points); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/block_decorated_structs.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/block_decorated_structs.cc index 9a060448a..c04dc1bc4 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/block_decorated_structs.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/block_decorated_structs.cc @@ -118,8 +118,8 @@ void Run(Module& ir) { } // namespace Result BlockDecoratedStructs(Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.BlockDecoratedStructs", - kBlockDecoratedStructsCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kBlockDecoratedStructsCapabilities, + "core.BlockDecoratedStructs")); Run(ir); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_polyfill.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_polyfill.cc index 5cd73b23e..33f3c1a59 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_polyfill.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_polyfill.cc @@ -622,9 +622,10 @@ struct State { // result = extractBits(e, offset, count) // With: // let s = min(offset, 32u); - // let t = min(32u, (s + count)); + // let clamped_count = min(count, 32u); + // let t = min(32u, (s + clamped_count)); // let shl = (32u - t); - // let shr = (shl + s + // let shr = (shl + s); // let shl_result = select(i32(), (e << shl), (shl < 32u)); // result = select(((shl_result >> 31u) >> 1u), (shl_result >> shr), (shr < 32u)); // } @@ -634,7 +635,8 @@ struct State { auto V = [&](uint32_t u) { return b.MatchWidth(u32(u), result_ty); }; b.InsertBefore(call, [&] { auto* s = b.Min(offset, 32_u); - auto* t = b.Min(32_u, b.Add(s, count)); + auto* clamped_count = b.Min(count, 32_u); + auto* t = b.Min(32_u, b.Add(s, clamped_count)); auto* shl = b.Subtract(32_u, t); auto* shr = b.Add(shl, s); auto* f1 = b.Zero(result_ty); @@ -832,7 +834,10 @@ struct State { }; b.InsertBefore(call, [&] { - auto* oc = b.Add(offset, count); + auto* clamped_count = b.Min(count, 32_u); + auto* clamped_offset = b.Min(offset, 32_u); + auto* oc = b.Add(clamped_offset, clamped_count); + auto* t1 = b.ShiftLeft(1_u, offset); auto* s1 = b.Call(core::BuiltinFn::kSelect, b.Zero(), t1, b.LessThan(offset, 32_u)); @@ -952,10 +957,10 @@ struct State { auto* sampler = call->Args()[1]; auto* coords = call->Args()[2]; b.InsertBefore(call, [&] { - auto* dims = b.Call>(core::BuiltinFn::kTextureDimensions, texture); - auto* fdims = b.Convert>(dims); - auto* half_texel = b.Divide(b.Splat>(0.5_f), fdims); - auto* one_minus_half_texel = b.Subtract(b.Splat>(1_f), half_texel); + auto* dims = b.Call(core::BuiltinFn::kTextureDimensions, texture); + auto* fdims = b.Convert(dims); + auto* half_texel = b.Divide(b.Splat(0.5_f), fdims); + auto* one_minus_half_texel = b.Subtract(b.Splat(1_f), half_texel); auto* clamped = b.Clamp(coords, half_texel, one_minus_half_texel); b.CallWithResult(call->DetachResult(), core::BuiltinFn::kTextureSampleLevel, texture, sampler, clamped, 0_f); @@ -1239,7 +1244,7 @@ struct State { Result BuiltinPolyfill(Module& ir, const BuiltinPolyfillConfig& config) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.BuiltinPolyfill", kBuiltinPolyfillCapabilities)); + ValidateBeforeIfNeeded(ir, kBuiltinPolyfillCapabilities, "core.BuiltinPolyfill")); State{config, ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_scalarize.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_scalarize.cc index 80a145044..ca5e4a9f6 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_scalarize.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/builtin_scalarize.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/core/ir/transform/builtin_scalarize.h" + #include #include @@ -135,7 +136,7 @@ struct State { Result BuiltinScalarize(Module& ir, const BuiltinScalarizeConfig& config) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.BuiltinScalarize", kBuiltinScalarizeCapabilities)); + ValidateBeforeIfNeeded(ir, kBuiltinScalarizeCapabilities, "core.BuiltinScalarize")); State{config, ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/change_immediate_to_uniform.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/change_immediate_to_uniform.cc index 3de4faca3..ebcf0ca64 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/change_immediate_to_uniform.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/change_immediate_to_uniform.cc @@ -148,15 +148,16 @@ struct State { Result ChangeImmediateToUniform(core::ir::Module& ir, const ChangeImmediateToUniformConfig& config) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.ChangeImmediateToUniform", - core::ir::Capabilities{ - core::ir::Capability::kAllow8BitIntegers, - core::ir::Capability::kAllowPointSizeBuiltin, - core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kMslAllowEntryPointInterface, - })); + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllowPointSizeBuiltin, + core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kMslAllowEntryPointInterface, + }, + "core.ChangeImmediateToUniform")); State{config, ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/combine_access_instructions.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/combine_access_instructions.cc index 8bfa3a503..937918d2d 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/combine_access_instructions.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/combine_access_instructions.cc @@ -80,12 +80,13 @@ struct State { } // namespace Result CombineAccessInstructions(Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.CombineAccessInstructions", - core::ir::Capabilities{ - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllow8BitIntegers, - })); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllow8BitIntegers, + }, + "core.CombineAccessInstructions")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/conversion_polyfill.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/conversion_polyfill.cc index 1faf8b137..107c4bfdf 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/conversion_polyfill.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/conversion_polyfill.cc @@ -117,7 +117,6 @@ struct State { ir::Constant* high_limit_f = nullptr; } limits; - // Largest integers representable in the source floating point format. if (src_el_ty->Is()) { // These values are chosen specifically to enable f32 clamping. @@ -167,7 +166,7 @@ struct State { Result ConversionPolyfill(Module& ir, const ConversionPolyfillConfig& config) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.ConversionPolyfill", kConversionPolyfillCapabilities)); + ValidateBeforeIfNeeded(ir, kConversionPolyfillCapabilities, "core.ConversionPolyfill")); State{config, ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/dead_code_elimination.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/dead_code_elimination.cc index a35af45e0..6643c6150 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/dead_code_elimination.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/dead_code_elimination.cc @@ -106,7 +106,7 @@ struct State { Result DeadCodeElimination(Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.DeadCodeElimination", kDeadCodeEliminationCapabilities)); + ValidateBeforeIfNeeded(ir, kDeadCodeEliminationCapabilities, "core.DeadCodeElimination")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.cc new file mode 100644 index 000000000..d3c16e79f --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.cc @@ -0,0 +1,1350 @@ +// Copyright 2024 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "src/tint/lang/core/ir/transform/decompose_access.h" + +#include +#include +#include + +#include "src/tint/lang/core/ir/builder.h" +#include "src/tint/lang/core/ir/validator.h" + +namespace tint::core::ir::transform { +namespace { + +using namespace tint::core::fluent_types; // NOLINT +using namespace tint::core::number_suffixes; // NOLINT + +/// PIMPL state for the transform. +/// +/// Each uniform buffer variable is rewritten so its store type is an array of vec4u +/// elements. Accesses to original store type contents are rewritten to pick out the +/// right set of vec4u elements and then use bitcasts as needed to construct the originally +/// loaded value. +struct State { + /// The IR module. + core::ir::Module& ir; + + /// The transform options. + const DecomposeAccessOptions& options; + + /// The IR builder. + core::ir::Builder b{ir}; + + /// The type manager. + core::type::Manager& ty{ir.Types()}; + + using VarTypePair = std::pair; + /// Maps a variable and type to the load function + Hashmap var_and_type_to_load_fn_{}; + /// Maps a variable and type to the store function + Hashmap var_and_type_to_store_fn_{}; + + const type::Type* base_ty_ = nullptr; + const type::Pointer* base_ptr_ty_ = nullptr; + + /// Process the module. + void Process() { + Vector var_worklist; + for (auto* inst : *ir.root_block) { + // Allow this to run before or after PromoteInitializers by handling non-var root_block + // entries + auto* var = inst->As(); + if (!var) { + continue; + } + + // DecomposeStorageAccess maybe have converted the var pointers into ByteAddressBuffer + // objects. Since they've been changed, then they're Storage buffers and we don't care + // about them here. + auto* var_ty = var->Result()->Type()->As(); + if (!var_ty) { + continue; + } + + // Always decompose buffer types, otherwise depend on the options. + if (var_ty->StoreType()->Is()) { + var_worklist.Push(var); + } else if ((var_ty->AddressSpace() == AddressSpace::kStorage && options.storage) || + (var_ty->AddressSpace() == AddressSpace::kUniform && options.uniform) || + (var_ty->AddressSpace() == AddressSpace::kWorkgroup && options.workgroup) || + (var_ty->AddressSpace() == AddressSpace::kImmediate && options.immediate)) { + // Atomics could be handled in some backends, but not in a generic way. + if (!ContainsAtomic(var_ty->StoreType())) { + var_worklist.Push(var); + } + } + } + + for (auto* var : var_worklist) { + auto* result = var->Result(); + SetBaseEleType(var); + + auto usage_worklist = result->UsagesSorted(); + auto* var_ty = result->Type()->As(); + while (!usage_worklist.IsEmpty()) { + auto usage = usage_worklist.Pop(); + auto* inst = usage.instruction; + + // Load instructions can be destroyed by the replacing access function + if (!inst->Alive()) { + continue; + } + + OffsetData od{}; + tint::Switch( + inst, // + [&](core::ir::LoadVectorElement* l) { LoadVectorElement(l, var, od); }, + [&](core::ir::StoreVectorElement* s) { StoreVectorElement(s, var, od); }, + [&](core::ir::Load* l) { Load(l, var, od); }, + [&](core::ir::Store* s) { Store(s, var, od); }, + [&](core::ir::Access* a) { Access(a, var, a->Object()->Type(), od); }, + [&](core::ir::Let* let) { + // The `let` is, essentially, an alias for the `var` as it's assigned + // directly. Gather all the `let` usages into our worklist, and then replace + // the `let` with the `var` itself. + for (auto& use : let->Result()->UsagesSorted()) { + usage_worklist.Push(use); + } + let->Result()->ReplaceAllUsesWith(result); + let->Destroy(); + }, + [&](core::ir::CoreBuiltinCall* call) { + switch (call->Func()) { + case core::BuiltinFn::kArrayLength: + ArrayLength(call, var, var_ty->StoreType(), {}); + break; + case core::BuiltinFn::kBufferLength: + BufferLength(call, var, var_ty->StoreType()); + break; + case core::BuiltinFn::kBufferView: + BufferView(call, var, var_ty->StoreType(), {}); + break; + default: + TINT_IR_UNREACHABLE(ir); + } + }, + TINT_ICE_ON_NO_MATCH); + } + + auto HasRuntimeSize = [&](const type::Type* type) { + return tint::Switch( + type, + [&](const type::Array* arr) { + return arr->Count()->Is(); + }, + [&](const type::Buffer* buf) { + return buf->Count()->Is(); + }, + [&](const type::Struct* str) { + auto* last = + str->Element(static_cast(str->Members().Length()) - 1); + if (auto* arr = last->As()) { + return arr->Count()->Is(); + } + return false; + }, + [&](Default) { return false; }); + }; + + // Swap the result type of the `var` to the new result type + const type::Array* array_ty = nullptr; + if (HasRuntimeSize(var_ty->StoreType())) { + // Use a runtime-sized array of the base type. + array_ty = ty.runtime_array(BaseEleType()); + } else { + auto array_length = NumBaseElements(var_ty->StoreType()); + + array_length = + std::max(array_length, options.minimum_array_size / BaseEleType()->Size()); + array_ty = ty.array(BaseEleType(), array_length); + } + result->SetType(ty.ptr(var_ty->AddressSpace(), array_ty, var_ty->Access())); + } + } + + const type::Type* BaseEleType() { return base_ty_; } + + const type::Pointer* BaseEleTypePtr() { return base_ptr_ty_; } + + // Returns the number of BaseEleType elements need to represent `type` rounded up. + uint32_t NumBaseElements(const type::Type* type) { + return (type->Size() + BaseEleType()->Size() - 1) / BaseEleType()->Size(); + } + + // OffsetData represents an unsigned integer expression. + // The value is the sum of a const part, held in `byte_offset`, and + // non-const parts in `byte_offset_expr`. + struct OffsetData { + uint32_t byte_offset = 0; + Vector byte_offset_expr{}; + }; + + bool ContainsAtomic(const type::Type* type) const { + return tint::Switch( + type, // + [&](const type::Atomic*) { return true; }, + [&](const type::Array* array_ty) { return ContainsAtomic(array_ty->ElemType()); }, + [&](const type::Struct* struct_ty) { + for (auto* member : struct_ty->Members()) { + if (ContainsAtomic(member->Type())) { + return true; + } + } + return false; + }, + [&](Default) { return false; }); + } + + uint32_t SmallestElementSize(const type::Type* type) { + return tint::Switch( + type, // + [&](const type::Scalar* scalar) { return scalar->Size(); }, + [&](const type::Vector* vector) { + if (vector->Width() == 3) { + return vector->Type()->Size(); + } + return type->Size(); + }, + [&](const type::Matrix* matrix) { return SmallestElementSize(matrix->ColumnType()); }, + [&](const type::Array* array) { return SmallestElementSize(array->ElemType()); }, + [&](const type::Struct* str) { + uint32_t size = std::numeric_limits::max(); + for (auto* member : str->Members()) { + size = std::min(size, SmallestElementSize(member->Type())); + } + return size; + }, + TINT_ICE_ON_NO_MATCH); + } + + // Returns the smallest access size (load/store) in bytes for `var` up to a max of `16` bytes. + uint32_t SmallestAccessSize(core::ir::Var* var) { + uint32_t size = std::numeric_limits::max(); + auto worklist = var->Result()->UsagesSorted(); + while (!worklist.IsEmpty()) { + auto usage = worklist.Pop(); + auto* use = usage.instruction; + + size = std::min( + size, + tint::Switch( + use, + [&](core::ir::LoadVectorElement* lve) { return lve->Result()->Type()->Size(); }, + [&](core::ir::StoreVectorElement* sve) { return sve->Value()->Type()->Size(); }, + [&](core::ir::Load* load) { + return SmallestElementSize(load->Result()->Type()); + }, + [&](core::ir::Store* store) { + return SmallestElementSize(store->From()->Type()); + }, + [&](core::ir::Instruction* inst) { + bool bufferView = false; + if (auto* call = inst->As()) { + bufferView = call->Func() == core::BuiltinFn::kBufferView; + } + if (inst->IsAnyOf() || bufferView) { + for (auto u : inst->Result()->UsagesSorted()) { + worklist.Push(u); + } + } + if (auto* call = inst->As()) { + if (call->Func() == core::BuiltinFn::kArrayLength) { + auto* ptr_ty = call->Args()[0]->Type()->As(); + return SmallestElementSize(ptr_ty->StoreType()); + } + } + return size; + })); + } + // No need to be larger than a vec4u. + return std::min(size, 16u); + } + + // Sets the base type based on the smallest access size. + // Possible values are: u16, u32, vec2u, and vec4u. + void SetBaseEleType(core::ir::Var* var) { + uint32_t size = 0; + auto* var_ty = var->Result()->Type()->As(); + if (var_ty->AddressSpace() == AddressSpace::kUniform) { + size = 16u; + } else if (var_ty->AddressSpace() == AddressSpace::kImmediate) { + size = 4u; + } else { + size = SmallestAccessSize(var); + } + + if (size == 2 || size == 6) { + // 6 == vec3h so we must use a 2-byte type to be safe. + base_ty_ = ty.u16(); + } else if (size < 8 || size == 12) { + // 12 == vec3u so we must use a 4-byte type to be safe. + base_ty_ = ty.u32(); + } else if (size < 16) { + base_ty_ = ty.vec2u(); + } else if (size == 16) { + base_ty_ = ty.vec4u(); + } else { + TINT_UNREACHABLE(); + } + + base_ptr_ty_ = ty.ptr(var_ty->AddressSpace(), base_ty_, var_ty->Access()); + } + + // Note, must be called inside a builder insert block (Append, InsertBefore, etc) + core::ir::Value* OffsetToValue(OffsetData offset) { + core::ir::Value* val = nullptr; + + // If the offset is zero, skip setting val. This way, we won't add `0 +` and create useless + // addition expressions, but if the offset is zero, and there are no expressions, make sure + // we return the 0 value. + if (offset.byte_offset != 0) { + val = b.Value(u32(offset.byte_offset)); + } else if (offset.byte_offset_expr.IsEmpty()) { + return b.Value(0_u); + } + + for (core::ir::Value* expr : offset.byte_offset_expr) { + if (!val) { + val = expr; + } else { + val = b.Add(val, expr)->Result(); + } + } + + return val; + } + + // Converts a byte offset to an index into an array of base type. + // After the transform runs the store type of the uniform buffer variable is an + // array of vec4u. + // Note, this must be called inside a builder insert block (Append, InsertBefore, etc) + core::ir::Value* OffsetValueToArrayIndex(core::ir::Value* val) { + if (auto* cnst = val->As()) { + auto v = cnst->Value()->ValueAs(); + return b.Value(u32(v / BaseEleType()->Size())); + } + return b.Divide(val, u32(BaseEleType()->Size()))->Result(); + } + + // Calculates the index of the vector element containing the byte at (byte_idx % + // src_ty->Size()). Assumes the upper bits of byte_idx have already been used to access the + // correct vector array element in the underlying variable. + core::ir::Value* CalculateVectorOffset(core::ir::Value* byte_idx, const type::Vector* src_ty) { + if (auto* byte_cnst = byte_idx->As()) { + return b.Value( + u32((byte_cnst->Value()->ValueAs() % src_ty->Size()) / src_ty->Width())); + } + // Note: Using bitwise-and and shift instead of modulo and divide here was necessary to + // avoid an FXC miscompile. See https://crbug.com/454366353. + return b + .ShiftRight(b.And(byte_idx, b.Constant(u32(src_ty->Size() - 1))), + u32(log2(src_ty->Width()))) + ->Result(); + } + + // Note, must be called inside a builder insert block (Append, InsertBefore, etc) + void UpdateOffsetData(core::ir::Value* v, uint32_t elm_size, OffsetData* offset) { + tint::Switch( + v, // + [&](core::ir::Constant* idx_value) { + offset->byte_offset += idx_value->Value()->ValueAs() * elm_size; + }, + [&](core::ir::Value* val) { + auto* idx = val; + idx = b.InsertConvertIfNeeded(ty.u32(), val); + offset->byte_offset_expr.Push(b.Multiply(idx, u32(elm_size))->Result()); + }, + TINT_ICE_ON_NO_MATCH); + } + + void Access(core::ir::Access* a, + core::ir::Var* var, + const core::type::Type* obj_ty, + OffsetData offset) { + // Note, because we recurse through the `access` helper, the object passed in isn't + // necessarily the originating `var` object, but maybe a partially resolved access chain + // object. + if (auto* view = obj_ty->As()) { + obj_ty = view->StoreType(); + } + + for (auto* idx_value : a->Indices()) { + tint::Switch( + obj_ty, + [&](const core::type::Vector* v) { + b.InsertBefore( + a, [&] { UpdateOffsetData(idx_value, v->Type()->Size(), &offset); }); + obj_ty = v->Type(); + }, + [&](const core::type::Matrix* m) { + b.InsertBefore( + a, [&] { UpdateOffsetData(idx_value, m->ColumnStride(), &offset); }); + obj_ty = m->ColumnType(); + }, + [&](const core::type::Array* ary) { + b.InsertBefore( + a, [&] { UpdateOffsetData(idx_value, ary->ImplicitStride(), &offset); }); + obj_ty = ary->ElemType(); + }, + [&](const core::type::Struct* s) { + auto* cnst = idx_value->As(); + + // A struct index must be a constant + TINT_IR_ASSERT(ir, cnst); + + uint32_t idx = cnst->Value()->ValueAs(); + auto* mem = s->Members()[idx]; + obj_ty = mem->Type(); + offset.byte_offset += mem->Offset(); + }, + TINT_ICE_ON_NO_MATCH); + } + + AccessUses(a, var, obj_ty, offset); + } + + void BufferView(core::ir::CoreBuiltinCall* call, + core::ir::Var* var, + const type::Type* obj_type, + OffsetData offset) { + auto* offset_arg = call->Args()[1]; + b.InsertBefore(call, [&] { UpdateOffsetData(offset_arg, 1, &offset); }); + obj_type = call->Result()->Type()->As()->StoreType(); + + AccessUses(call, var, obj_type, offset); + } + + void AccessUses(core::ir::Instruction* inst, + core::ir::Var* var, + const type::Type* obj_ty, + OffsetData offset) { + auto usages = inst->Result()->UsagesSorted(); + while (!usages.IsEmpty()) { + auto usage = usages.Pop(); + tint::Switch( + usage.instruction, + [&](core::ir::Let* let) { + // The `let` is essentially an alias to the `access`. So, add the `let` + // usages into the usage worklist, and replace the let with the access chain + // directly. + for (auto& u : let->Result()->UsagesSorted()) { + usages.Push(u); + } + let->Result()->ReplaceAllUsesWith(inst->Result()); + let->Destroy(); + }, + [&](core::ir::Access* sub_access) { + // Treat an access chain of the access chain as a continuation of the outer + // chain. Pass through the object we stopped at and the current byte_offset + // and then restart the access chain replacement for the new access chain. + Access(sub_access, var, obj_ty, offset); + }, + [&](core::ir::Load* ld) { + inst->Result()->RemoveUsage(usage); + Load(ld, var, offset); + }, + [&](core::ir::Store* st) { + inst->Result()->RemoveUsage(usage); + Store(st, var, offset); + }, + [&](core::ir::LoadVectorElement* lve) { + inst->Result()->RemoveUsage(usage); + LoadVectorElement(lve, var, offset); + }, + [&](core::ir::StoreVectorElement* sve) { + inst->Result()->RemoveUsage(usage); + StoreVectorElement(sve, var, offset); + }, + [&](core::ir::CoreBuiltinCall* call) { + // Note: we don't need to check for bufferView and bufferLength as they cannot + // be encountered after an access. + if (call->Func() == core::BuiltinFn::kArrayLength) { + ArrayLength(call, var, obj_ty, offset); + } + }, + TINT_ICE_ON_NO_MATCH); + } + inst->Destroy(); + } + + void Load(core::ir::Load* ld, core::ir::Var* var, OffsetData offset) { + b.InsertBefore(ld, [&] { + auto* byte_idx = OffsetToValue(offset); + auto* result = MakeLoad(ld, var, ld->Result()->Type(), byte_idx); + ld->Result()->ReplaceAllUsesWith(result->Result()); + }); + ld->Destroy(); + } + + void LoadVectorElement(core::ir::LoadVectorElement* lve, + core::ir::Var* var, + OffsetData offset) { + b.InsertBefore(lve, [&] { + // Add the byte count from the start of the vector to the requested element to the + // current offset calculation + auto elem_byte_size = lve->Result()->Type()->DeepestElement()->Size(); + if (auto* cnst = lve->Index()->As()) { + offset.byte_offset += (cnst->Value()->ValueAs() * elem_byte_size); + } else { + offset.byte_offset_expr.Push( + b.Multiply(b.InsertConvertIfNeeded(ty.u32(), lve->Index()), u32(elem_byte_size)) + ->Result()); + } + + auto* byte_idx = OffsetToValue(offset); + auto* result = MakeLoad(lve, var, lve->Result()->Type(), byte_idx); + lve->Result()->ReplaceAllUsesWith(result->Result()); + }); + lve->Destroy(); + } + + // Creates the appropriate load instructions for the given result type. + core::ir::Instruction* MakeLoad(core::ir::Instruction* inst, + core::ir::Var* var, + const core::type::Type* result_ty, + core::ir::Value* byte_idx) { + return tint::Switch( + result_ty, + [&](const core::type::Struct* s) { + auto* fn = GetLoadFunctionFor(inst, var, s); + return b.Call(fn, byte_idx); + }, + [&](const core::type::Matrix* m) { + auto* fn = GetLoadFunctionFor(inst, var, m); + return b.Call(fn, byte_idx); + }, + [&](const core::type::Array* a) { + auto* fn = GetLoadFunctionFor(inst, var, a); + return b.Call(fn, byte_idx); + }, + [&](const core::type::Vector* v) { return MakeVectorLoad(var, v, byte_idx); }, + [&](const core::type::Scalar* s) { return MakeScalarLoad(var, s, byte_idx); }, + TINT_ICE_ON_NO_MATCH); + } + + // Returns a vector of `num_loads` load instructions of BaseEleType from `var` starting from + // `start_idx`. + // Note, must be called inside a builder insert block (Append, InsertBefore, etc) + Vector MakeNLoadInsts(Var* var, Value* start_idx, uint32_t num_loads) { + Vector loads; + auto* idx = start_idx; + for (uint32_t i = 0; i < num_loads; i++) { + if (i > 0) { + if (auto* cnst = idx->As()) { + idx = b.Constant(u32(cnst->Value()->ValueAs() + 1)); + } else { + idx = b.Add(idx, b.Constant(1_u))->Result(); + } + } + auto* access = b.Access(BaseEleTypePtr(), var, idx); + loads.Push(b.Load(access)); + } + return loads; + } + + // Returns a vector of `num_loads` load values of BaseEleType from `var` starting from + // `start_idx`. + // Note, must be called inside a builder insert block (Append, InsertBefore, etc) + Vector MakeNLoads(Var* var, Value* start_idx, uint32_t num_loads) { + auto insts = MakeNLoadInsts(var, start_idx, num_loads); + Vector vals; + vals.Reserve(insts.Length()); + for (auto* inst : insts) { + vals.Push(inst->Result()); + } + return vals; + } + + // Returns a value that is appropriately bitcasted or converted as necessary. + // Note, must be called inside a builder insert block (Append, InsertBefore, etc) + core::ir::Value* BitcastOrConvertIfNeeded(const core::type::Type* result_ty, + core::ir::Value* from) { + Value* value = from; + if (result_ty->DeepestElement()->Is()) { + auto* new_ty = ty.MatchWidth(ty.u32(), result_ty); + value = b.InsertBitcastIfNeeded(new_ty, from); + return b.Convert(result_ty, value)->Result(); + } + if (from->Type()->DeepestElement()->Is()) { + auto* new_ty = ty.MatchWidth(ty.u32(), from->Type()); + value = b.Convert(new_ty, from)->Result(); + } + return b.InsertBitcastIfNeeded(result_ty, value); + } + + // Returns an instruction that is appropriately bitcasted or converted as necessary. + // Note, must be called inside a builder insert block (Append, InsertBefore, etc) + core::ir::Instruction* BitcastOrConvertIfNeeded(const core::type::Type* result_ty, + core::ir::Instruction* from) { + Instruction* inst = from; + if (result_ty->DeepestElement()->Is()) { + auto* new_ty = ty.MatchWidth(ty.u32(), result_ty); + inst = b.InsertBitcastIfNeeded(new_ty, from); + return b.Convert(result_ty, inst); + } + if (from->Result()->Type()->DeepestElement()->Is()) { + auto* new_ty = ty.MatchWidth(ty.u32(), from->Result()->Type()); + inst = b.Convert(new_ty, from); + } + return b.InsertBitcastIfNeeded(result_ty, inst); + } + + core::ir::Instruction* MakeScalarLoad(core::ir::Var* var, + const core::type::Type* result_ty, + core::ir::Value* byte_idx) { + // Number of array elements needed to load the scalar. + auto num_array_eles = NumBaseElements(result_ty); + auto* array_idx = OffsetValueToArrayIndex(byte_idx); + if (num_array_eles > 1) { + // This should only happen when the base type is u16 and a 4-byte scalar is being + // loaded. + TINT_IR_ASSERT(ir, num_array_eles == 2); + auto* vec_ty = ty.vec(BaseEleType(), num_array_eles); + auto loads = MakeNLoads(var, array_idx, num_array_eles); + auto* construct = b.Construct(vec_ty, loads); + return BitcastOrConvertIfNeeded(result_ty, construct); + } + + auto* access = b.Access(BaseEleTypePtr(), var, array_idx); + + ir::Instruction* load = nullptr; + if (auto* vec_ty = BaseEleType()->As()) { + auto* vec_idx = CalculateVectorOffset(byte_idx, vec_ty); + load = b.LoadVectorElement(access, vec_idx); + } else { + load = b.Load(access); + } + + if (result_ty->Size() < load->Result()->Type()->Size()) { + return ExtractScalar2Bytes(load, result_ty, byte_idx); + } + return BitcastOrConvertIfNeeded(result_ty, load); + } + + // Currently this could only be f16, but in the future that will not be true. + core::ir::Access* ExtractScalar2Bytes(core::ir::Instruction* load, + const type::Type* result_ty, + core::ir::Value* byte_idx) { + // We will bitcast the load to a vector of result_ty and then extract the element that we + // want. + const uint32_t load_size = load->Result()->Type()->Size(); + uint32_t num_eles = load_size / result_ty->Size(); + const type::Type* vec_ty = ty.vec(result_ty, num_eles); + core::ir::Value* element_index = nullptr; + if (auto* cnst = byte_idx->As()) { + if (cnst->Value()->ValueAs() % 4 == 0) { + element_index = b.Constant(0_u); + } else { + element_index = b.Constant(1_u); + } + } else { + auto* false_ = b.Value(1_u); + auto* true_ = b.Value(0_u); + auto* cond = b.Equal(b.Modulo(byte_idx, 4_u), 0_u); + + Vector args{false_, true_, cond->Result()}; + element_index = b.Call(ty.u32(), core::BuiltinFn::kSelect, args)->Result(); + } + + auto* bitcast = b.Bitcast(vec_ty, load); + return b.Access(result_ty, bitcast, element_index); + } + + // When loading a vector we have to take the alignment into account to determine which part of + // the `uint4` to load. A `vec` of `u32`, `f32` or `i32` has an alignment requirement of + // a multiple of 8-bytes (`f16` is 4-bytes). So, this means we'll have memory like: + // + // Byte: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | + // Value:| v1 | v2 | v3 | v4 | + // Scalar Index: 0 1 2 3 + // + // Start with a byte address which is `offset + (column * columnStride)`, the array index is + // `byte_address / 16`. This gives us the `uint4` which contains our values. We can then + // calculate the vector offset as `(byte_address % 16) / 4`. + // + // * A 4-element row we access all 4-elements at the `array_idx` + // * A 3-element row we access `array_idx` at `.xyz` as it must be padded to a vec4. + // * A 2-element row, we have to decide if we want the `xy` or `zw` element. We have a minimum + // alignment of 8-bytes as per the WGSL spec. So if the `vector_idx != 2` is `0` then we + // access the `.xy` component, otherwise it is in the `.zw` component. + core::ir::Instruction* MakeVectorLoad(core::ir::Var* var, + const core::type::Vector* result_ty, + core::ir::Value* byte_idx) { + if (result_ty->DeepestElement()->Size() == 2) { + return MakeVectorLoadF16(var, result_ty, byte_idx); + } + + auto* array_idx = OffsetValueToArrayIndex(byte_idx); + uint32_t num_loads = NumBaseElements(result_ty); + auto loads = MakeNLoadInsts(var, array_idx, num_loads); + + if (BaseEleType()->Size() < result_ty->DeepestElement()->Size()) { + TINT_IR_ASSERT(ir, BaseEleType() == ty.u16()); + // Need to step up the size first. + Vector new_loads; + for (uint32_t i = 0; i < num_loads; i += 2) { + Vector args; + args.Push(loads[i]->Result()); + args.Push(loads[i + 1]->Result()); + new_loads.Push( + b.Bitcast(ty.u32(), b.Construct(ty.vec2(BaseEleType()), args)->Result())); + } + std::swap(loads, new_loads); + num_loads /= 2; + } + + Instruction* value = nullptr; + Vector construct_args; + for (auto* l : loads) { + construct_args.Push(l->Result()); + } + if (loads[0]->Result()->Type() == ty.u32()) { + value = b.Construct(ty.vec(ty.u32(), static_cast(loads.Length())), + construct_args); + } else if (loads[0]->Result()->Type() == ty.vec2u()) { + if (loads.Length() > 1) { + value = b.Construct(ty.vec4u(), construct_args); + } else { + value = loads[0]; + } + } else { + TINT_IR_ASSERT(ir, loads[0]->Result()->Type() == ty.vec4u()); + value = loads[0]; + } + + TINT_IR_ASSERT(ir, result_ty->DeepestElement()->Size() == 4); + core::ir::Instruction* load = nullptr; + if (result_ty->Width() == 4) { + load = value; + } else if (result_ty->Width() == 3) { + load = b.Swizzle(ty.vec3u(), value, {0, 1, 2}); + } else if (result_ty->Width() == 2) { + if (value->Result()->Type()->Size() == result_ty->Size()) { + load = value; + } else { + auto* vec_idx = CalculateVectorOffset(byte_idx, ty.vec4u()); + if (auto* cnst = vec_idx->As()) { + if (cnst->Value()->ValueAs() == 2u) { + load = b.Swizzle(ty.vec2u(), value, {2, 3}); + } else { + load = b.Swizzle(ty.vec2u(), value, {0, 1}); + } + } else { + auto* ubo = value; + // if vec_idx == 2 -> zw + auto* sw_lhs = b.Swizzle(ty.vec2u(), ubo, {2, 3}); + // else -> xy + auto* sw_rhs = b.Swizzle(ty.vec2u(), ubo, {0, 1}); + auto* cond = b.Equal(vec_idx, 2_u); + + Vector args{sw_rhs->Result(), sw_lhs->Result(), + cond->Result()}; + + load = b.Call(ty.vec2u(), core::BuiltinFn::kSelect, args); + } + } + } else { + TINT_IR_UNREACHABLE(ir); + } + return BitcastOrConvertIfNeeded(result_ty, load); + } + + // Returns the instruction for getting a vector-of-f16 value of type `result_ty` + // out of the pointer-to-vec4u value `access`. Get the components starting + // at byte offset (byte_idx % 16). + // A `vec4` or `vec3` of `f16` has 8-byte alignment, while a `vec2` of `f16` has 4-byte + // alignment. So, this means we'll have memory like: + // + // Byte: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | + // Scalar Index: 0 | 1 | 2 | 3 | + // vec4:| x | y | z | w | + // vec4:| x | y | z | w | x | y | z | w | + // vec3:| x | y | z | | x | y | z | | + // vec2:| x | y | x | y | x | y | x | y | + core::ir::Instruction* MakeVectorLoadF16(core::ir::Var* var, + const core::type::Vector* result_ty, + core::ir::Value* byte_idx) { + auto* array_idx = OffsetValueToArrayIndex(byte_idx); + uint32_t num_loads = NumBaseElements(result_ty); + auto loads = MakeNLoads(var, array_idx, num_loads); + + // Since this vector has 2-byte elements, there are only a few possibilities: + // 1. Base type is u16 + // - scalar loads equal to number of vector elements + // 2. Base type is u32 + // - 1 or 2 u32 loads + // - Note: vec3h is not possible here + // 3. Base type is vec2u + // - 1 load of vec2u + // - Note: only vec4h possible here + // 4. Base type is vec4u + // - 1 load of vec4u + // - Note: vec3h is not possible here, but vec2h is + if (BaseEleType() == ty.u16()) { + auto* vec_ty = ty.vec(ty.u16(), num_loads); + auto* construct = b.Construct(vec_ty, loads); + if (vec_ty != result_ty) { + return b.Bitcast(result_ty, construct->Result()); + } + return construct; + } else if (BaseEleType() == ty.u32()) { + if (result_ty->Width() == 2) { + return b.Bitcast(result_ty, loads[0]); + } + TINT_IR_ASSERT(ir, result_ty->Width() == 4); + auto* construct = b.Construct(ty.vec2u(), loads); + return b.Bitcast(result_ty, construct->Result()); + } else if (BaseEleType() == ty.vec2u()) { + TINT_IR_ASSERT(ir, result_ty->Width() == 4); + TINT_IR_ASSERT(ir, (result_ty->DeepestElement()->IsAnyOf())); + return b.Bitcast(result_ty, loads[0]); + } + TINT_IR_ASSERT(ir, BaseEleType() == ty.vec4u()); + TINT_IR_ASSERT(ir, loads.Length() == 1); + + // Vec4 ends up being the same as a bitcast of vec2 to a vec4. + // A vec3 will be stored as a vec4, so we can bitcast as if we're a vec4 + // and swizzle out the last element. + if (result_ty->Width() == 3 || result_ty->Width() == 4) { + core::ir::Instruction* load = nullptr; + auto* vec_idx = CalculateVectorOffset(byte_idx, ty.vec4u()); // 0 or 2 + if (auto* cnst = vec_idx->As()) { + if (cnst->Value()->ValueAs() == 2u) { + load = b.Swizzle(ty.vec2u(), loads[0], {2, 3}); + } else { + load = b.Swizzle(ty.vec2u(), loads[0], {0, 1}); + } + } else { + auto* ubo = loads[0]; + // if vec_idx == 2 -> zw + auto* sw_lhs = b.Swizzle(ty.vec2u(), ubo, {2, 3}); + // else -> xy + auto* sw_rhs = b.Swizzle(ty.vec2u(), ubo, {0, 1}); + auto* cond = b.Equal(vec_idx, 2_u); + auto args = Vector{sw_rhs->Result(), sw_lhs->Result(), cond->Result()}; + load = b.Call(ty.vec2u(), core::BuiltinFn::kSelect, std::move(args)); + } + if (result_ty->Width() == 3) { + auto* bc = b.Bitcast(ty.vec4(result_ty->Type()), load); + return b.Swizzle(result_ty, bc, {0, 1, 2}); + } + return b.Bitcast(result_ty, load); + } + + // Vec2 ends up being the same as a bitcast u32 to vec2 + if (result_ty->Width() == 2) { + core::ir::Instruction* load = nullptr; + auto* vec_idx = CalculateVectorOffset(byte_idx, ty.vec4u()); // 0, 1, 2, or 3 + if (auto* cnst = vec_idx->As()) { + const auto vec_idx_val = cnst->Value()->ValueAs(); + load = b.Swizzle(ty.u32(), loads[0], {vec_idx_val}); + } else { + load = b.Access(ty.u32(), loads[0], vec_idx); + } + return b.Bitcast(result_ty, load); + } + + TINT_IR_UNREACHABLE(ir); + } + + // Creates a load function for the given `var` and `matrix` combination. Essentially creates + // a function similar to: + // + // fn custom_load_M(offset: u32) { + // const uint scalar_offset = ((offset + 0u)) / 4; + // const uint scalar_offset_1 = ((offset + (1 * ColumnStride))) / 4; + // const uint scalar_offset_2 = ((offset + (2 * ColumnStride))) / 4; + // const uint scalar_offset_3 = ((offset + (3 * ColumnStride)))) / 4; + // return float4x4( + // asfloat(v[scalar_offset / 4]), + // asfloat(v[scalar_offset_1 / 4]), + // asfloat(v[scalar_offset_2 / 4]), + // asfloat(v[scalar_offset_3 / 4]) + // ); + // } + core::ir::Function* GetLoadFunctionFor(core::ir::Instruction* inst, + core::ir::Var* var, + const core::type::Matrix* mat) { + return var_and_type_to_load_fn_.GetOrAdd(VarTypePair{var, mat}, [&] { + auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); + auto* fn = b.Function(mat); + fn->SetParams({start_byte_offset}); + + b.Append(fn->Block(), [&] { + Vector values; + for (size_t i = 0; i < mat->Columns(); ++i) { + uint32_t stride = static_cast(i * mat->ColumnStride()); + + OffsetData od{stride, {start_byte_offset}}; + auto* byte_idx = OffsetToValue(od); + values.Push(MakeLoad(inst, var, mat->ColumnType(), byte_idx)->Result()); + } + b.Return(fn, b.Construct(mat, values)); + }); + + return fn; + }); + } + + // Creates a load function for the given `var` and `array` combination. Essentially creates + // a function similar to: + // + // fn custom_load_A(offset: u32) { + // A a = A(); + // u32 i = 0; + // loop { + // if (i >= A length) { + // break; + // } + // offset = (offset + (i * A->ImplicitStride())) / 16 + // a[i] = cast(v[offset].xyz) + // i = i + 1; + // } + // return a; + // } + core::ir::Function* GetLoadFunctionFor(core::ir::Instruction* inst, + core::ir::Var* var, + const core::type::Array* arr) { + return var_and_type_to_load_fn_.GetOrAdd(VarTypePair{var, arr}, [&] { + auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); + auto* fn = b.Function(arr); + fn->SetParams({start_byte_offset}); + + b.Append(fn->Block(), [&] { + auto* result_arr = b.Var("a", b.Zero(arr)); + + auto* count = arr->Count()->As(); + TINT_IR_ASSERT(ir, count); + + b.LoopRange(0_u, u32(count->value), 1_u, [&](core::ir::Value* idx) { + auto* stride = b.Multiply(idx, u32(arr->ImplicitStride()))->Result(); + OffsetData od{0, {start_byte_offset, stride}}; + auto* byte_idx = OffsetToValue(od); + auto* access = b.Access(ty.ptr(arr->ElemType()), result_arr, idx); + b.Store(access, MakeLoad(inst, var, arr->ElemType(), byte_idx)); + }); + + b.Return(fn, b.Load(result_arr)); + }); + + return fn; + }); + } + + // Creates a load function for the given `var` and `struct` combination. Essentially creates + // a function similar to: + // + // fn custom_load_S(start_offset: u32) { + // let a = load object at (start_offset + member_offset) + // let b = load object at (start_offset + member 1 offset); + // ... + // return S(a, b, ..., z); + // } + core::ir::Function* GetLoadFunctionFor(core::ir::Instruction* inst, + core::ir::Var* var, + const core::type::Struct* s) { + return var_and_type_to_load_fn_.GetOrAdd(VarTypePair{var, s}, [&] { + auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); + auto* fn = b.Function(s); + fn->SetParams({start_byte_offset}); + + b.Append(fn->Block(), [&] { + Vector values; + for (const auto* mem : s->Members()) { + uint32_t stride = static_cast(mem->Offset()); + + OffsetData od{stride, {start_byte_offset}}; + auto* byte_idx = OffsetToValue(od); + values.Push(MakeLoad(inst, var, mem->Type(), byte_idx)->Result()); + } + + b.Return(fn, b.Construct(s, values)); + }); + + return fn; + }); + } + + // Updates an arrayLength call to account for `offset`. + // The builtin call returns the length of the whole variable. The array type may have changed + // too, so we must account for that difference. Any offset must be subtracted from that value to + // provide the same result as before the transform. Offsets can come from two sources: + // + // 1. An offset from an access into a structure. + // 2. An offset (possibly runtime value) from a bufferView call. + void ArrayLength(core::ir::CoreBuiltinCall* call, + core::ir::Var* var, + const type::Type* type, + OffsetData offset) { + auto* array_ty = type->As(); + TINT_IR_ASSERT(ir, array_ty && array_ty->Count()->Is()); + + // The arrayLength of the transformed variable will always be a multiple of the base type. + TINT_IR_ASSERT(ir, array_ty->ElemType()->Size() / BaseEleType()->Size() >= 1); + const uint32_t ratio = array_ty->ImplicitStride() / BaseEleType()->Size(); + + // Given: + // b = bufferView var, offset1 + // a = access b, offset2 + // l = arrayLength a + // + // Transformed: + // l = arrayLength var + // o = add offset1, bytes(offset2) + // s = sub l, o + // d = div s, ratio + b.InsertBefore(call, [&] { + // Re-create the arrayLength call to simplify RAUW below. + auto* len = b.Call(ty.u32(), BuiltinFn::kArrayLength, var); + + Value* value = nullptr; + ir::Instruction* inst = len; + // bufferView calls may have introduced a single runtime offset value. + TINT_IR_ASSERT(ir, offset.byte_offset_expr.Length() <= 1); + if (offset.byte_offset > 0 && offset.byte_offset_expr.Length() > 0) { + value = b.Add(offset.byte_offset_expr[0], u32(offset.byte_offset))->Result(); + } else if (offset.byte_offset_expr.Length() > 0) { + value = offset.byte_offset_expr[0]; + } else if (offset.byte_offset > 0) { + value = b.Constant(u32(offset.byte_offset / BaseEleType()->Size())); + } + if (value && offset.byte_offset_expr.Length() > 0) { + value = b.Divide(value, u32(BaseEleType()->Size()))->Result(); + } + if (value) { + inst = b.Subtract(inst, value); + } + if (ratio != 1u) { + inst = b.Divide(inst, u32(ratio)); + } + call->Result()->ReplaceAllUsesWith(inst->Result()); + }); + call->Destroy(); + } + + // bufferLength calls are replaced with arrayLength calls for the entire var size with two + // special cases: + // + // 1. The bufferLength has a third operand added by DirectVariableAccess that represents the + // lowest limit encountered. + // 2. The buffer is sized and we can use that directly from the type. + void BufferLength(core::ir::CoreBuiltinCall* call, core::ir::Var* var, const type::Type* type) { + auto* buffer_ty = type->As(); + TINT_IR_ASSERT(ir, buffer_ty && (buffer_ty->Count()->Is() || + buffer_ty->Count()->Is())); + + if (call->Args().Length() > 1) { + // Direct variable access encoded a lower limit. + call->Result()->ReplaceAllUsesWith(call->Args()[1]); + } else if (auto* cnst = buffer_ty->Count()->As()) { + call->Result()->ReplaceAllUsesWith(b.Constant(u32(cnst->value))); + } else { + TINT_IR_ASSERT(ir, buffer_ty->Count()->Is()); + b.InsertBefore(call, [&] { + // arrayLength(var) * BaseEleType()->Size() + ir::Instruction* inst = b.Call(ty.u32(), core::BuiltinFn::kArrayLength, var); + inst = b.Multiply(inst, u32(BaseEleType()->Size())); + call->Result()->ReplaceAllUsesWith(inst->Result()); + }); + } + call->Destroy(); + } + + // Store the scalar value `from` at `byte_idx` offset. + // + // The transform should never select a base type that is not an even multiple of the smallest + // storage size, so there are two cases here: + // + // 1. Multiple stores are needed to store `from` (e.g. base type u16 storing a u32). + // 2. The base type size matches `from`'s size. + void MakeScalarStore(core::ir::Var* var, core::ir::Value* from, core::ir::Value* byte_idx) { + auto* st_ty = from->Type(); + // Number of array elements need to store the scalar. + auto num_array_eles = NumBaseElements(st_ty); + auto* array_idx = OffsetValueToArrayIndex(byte_idx); + if (num_array_eles > 1) { + // This should only happen if the base type is u16 and a 4-byte scalar is being stored. + TINT_IR_ASSERT(ir, num_array_eles == 2); + TINT_IR_ASSERT(ir, BaseEleType()->Is()); + auto* vec_ty = ty.vec(BaseEleType(), num_array_eles); + auto* cast = BitcastOrConvertIfNeeded(vec_ty, from); + for (uint32_t i = 0; i < num_array_eles; i++) { + auto* access = b.Access(BaseEleTypePtr(), var, array_idx); + b.Store(access, b.Access(BaseEleType(), cast, u32(i))); + if (i < num_array_eles - 1) { + if (auto* cnst = array_idx->As()) { + array_idx = b.Constant(u32(cnst->Value()->ValueAs() + 1)); + } else { + array_idx = b.Add(array_idx, 1_u)->Result(); + } + } + } + return; + } + + // For stores, we know that the base type size must be less than or equal to the store size + // (or we'd have picked a smaller base type). Above we eliminated the smaller size case. + TINT_IR_ASSERT(ir, st_ty->Size() == BaseEleType()->Size()); + Value* value = BitcastOrConvertIfNeeded(BaseEleType(), from); + auto* access = b.Access(BaseEleTypePtr(), var, array_idx); + b.Store(access, value); + } + + // Store the vector `from` at `byte_idx` offset. + // + // The two main cases to consider are: + // + // 1. The base type is a vector. + // i. If a single store is needed, we simply cast the result if necessary + // ii. Multiple stores are needed, break the vector in sub-vectors and store those. + // 2. The base type is a scalar. Store each element at successive indices. + void MakeVectorStore(core::ir::Var* var, core::ir::Value* from, core::ir::Value* byte_idx) { + auto* st_ty = from->Type()->As(); + // Number of array elements need to store the scalar. + auto num_array_eles = NumBaseElements(st_ty); + auto* array_idx = OffsetValueToArrayIndex(byte_idx); + + // We're storing a vector so we need break down `from` into appropriate `BaseEleType()` + // bits. The base type size will be less than or equal to the store size, but may be a + // scalar or a vector. + if (BaseEleType()->Is()) { + // | Base type | Possible store sizes | # Array Ele | + // | vec2u | vec2u, vec4u, vec4h (NOT vec3u) | 1 or 2 | + // | vec4u | vec4u | 1 | + if (num_array_eles == 1) { + Value* value = BitcastOrConvertIfNeeded(BaseEleType(), from); + auto* access = b.Access(BaseEleTypePtr(), var, array_idx); + b.Store(access, value); + } else { + auto* sub_vec_ty = ty.vec2(st_ty->DeepestElement()); + Instruction* first = b.Swizzle(sub_vec_ty, from, {0, 1}); + first = BitcastOrConvertIfNeeded(BaseEleType(), first); + auto* access = b.Access(BaseEleTypePtr(), var, array_idx); + b.Store(access, first); + + if (auto* cnst = array_idx->As()) { + array_idx = b.Constant(u32(cnst->Value()->ValueAs() + 1)); + } else { + array_idx = b.Add(array_idx, 1_u)->Result(); + } + Instruction* second = b.Swizzle(sub_vec_ty, from, {2, 3}); + second = BitcastOrConvertIfNeeded(BaseEleType(), second); + access = b.Access(BaseEleTypePtr(), var, array_idx); + b.Store(access, second); + } + } else { + auto* st_ele_ty = st_ty->DeepestElement(); + uint32_t ratio = st_ele_ty->Size() / BaseEleType()->Size(); + TINT_IR_ASSERT(ir, ratio == 1 || ratio == 2); + for (uint32_t i = 0; i < num_array_eles; i++) { + Instruction* value = b.Access(st_ele_ty, from, u32(i / ratio)); + if (ratio == 2) { + value = BitcastOrConvertIfNeeded(ty.vec2(BaseEleType()), value); + uint32_t sub_idx = i % 2; + value = b.Access(BaseEleType(), value, u32(sub_idx)); + } else if (st_ele_ty != BaseEleType()) { + value = BitcastOrConvertIfNeeded(BaseEleType(), value); + } + auto* access = b.Access(BaseEleTypePtr(), var, array_idx); + b.Store(access, value); + if (i < num_array_eles - 1) { + if (auto* cnst = array_idx->As()) { + array_idx = b.Constant(u32(cnst->Value()->ValueAs() + 1)); + } else { + array_idx = b.Add(array_idx, 1_u)->Result(); + } + } + } + } + } + + // Generate a store of `from` at `byte_idx` for the appropriate type. + void MakeStore(core::ir::Instruction* inst, + core::ir::Var* var, + core::ir::Value* from, + core::ir::Value* byte_idx) { + tint::Switch( + from->Type(), // + [&](const type::Struct* s) { + auto* fn = GetStoreFunctionFor(inst, var, s); + b.Call(fn, byte_idx, from); + }, + [&](const type::Matrix* m) { + auto* fn = GetStoreFunctionFor(inst, var, m); + b.Call(fn, byte_idx, from); + }, + [&](const type::Array* a) { + auto* fn = GetStoreFunctionFor(inst, var, a); + b.Call(fn, byte_idx, from); + }, + [&](const type::Vector*) { MakeVectorStore(var, from, byte_idx); }, + [&](const type::Scalar*) { MakeScalarStore(var, from, byte_idx); }, + TINT_ICE_ON_NO_MATCH); + } + + void Store(core::ir::Store* s, core::ir::Var* var, OffsetData offset) { + b.InsertBefore(s, [&] { + auto* byte_idx = OffsetToValue(offset); + MakeStore(s, var, s->From(), byte_idx); + }); + s->Destroy(); + } + + void StoreVectorElement(core::ir::StoreVectorElement* s, + core::ir::Var* var, + OffsetData offset) { + b.InsertBefore(s, [&] { + UpdateOffsetData(s->Index(), s->Value()->Type()->Size(), &offset); + auto* byte_idx = OffsetToValue(offset); + MakeStore(s, var, s->Value(), byte_idx); + }); + } + + // Create a store function for the given `var` and `struct` combination. Essentially creates a + // function similar to: + // + // fn custom_store_S(start_offset:u32, object:S) { + // store object at (start_offset + member 0 offset) + // store object at (start_offset + member 1 offset) + // ... + // store object at (start_offset + member n-1 offset) + // } + core::ir::Function* GetStoreFunctionFor(core::ir::Instruction* inst, + core::ir::Var* var, + const core::type::Struct* s) { + return var_and_type_to_store_fn_.GetOrAdd(VarTypePair{var, s}, [&] { + auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); + auto* object = b.FunctionParam("object", s); + auto* fn = b.Function(ty.void_()); + fn->SetParams({start_byte_offset, object}); + + b.Append(fn->Block(), [&] { + for (auto* member : s->Members()) { + uint32_t mem_offset = static_cast(member->Offset()); + OffsetData offset{mem_offset, {start_byte_offset}}; + auto* byte_idx = OffsetToValue(offset); + auto* from = b.Access(member->Type(), object, u32(member->Index()))->Result(); + MakeStore(inst, var, from, byte_idx); + } + b.Return(fn); + }); + + return fn; + }); + } + + // Create a store function for the given `var` and `matrix` combination. Essentially creates a + // function similar to: + // + // fn custom_store_M(start_offset:u32, object:M) { + // store object[0] at offset (start_offset + 0) + // store object[1] at offset (start_offset + (1 * ColumnStride)) + // store object[2] at offset (start_offset + (2 * ColumnStride)) + // store object[3] at offset (start_offset + (3 * ColumnStride)) + // } + core::ir::Function* GetStoreFunctionFor(core::ir::Instruction* inst, + core::ir::Var* var, + const core::type::Matrix* m) { + return var_and_type_to_store_fn_.GetOrAdd(VarTypePair{var, m}, [&] { + auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); + auto* object = b.FunctionParam("object", m); + auto* fn = b.Function(ty.void_()); + fn->SetParams({start_byte_offset, object}); + + b.Append(fn->Block(), [&] { + for (uint32_t c = 0; c < m->Columns(); c++) { + uint32_t vec_offset = static_cast(c * m->ColumnStride()); + OffsetData offset{vec_offset, {start_byte_offset}}; + auto* byte_idx = OffsetToValue(offset); + auto* from = b.Access(m->ColumnType(), object, u32(c))->Result(); + MakeStore(inst, var, from, byte_idx); + } + b.Return(fn); + }); + + return fn; + }); + } + + // Create a store function for the given `var` and `array` combination. Essentially creates a + // function similar to: + // + // fn custom_store_A(start_offset:u32, object:A) { + // } + core::ir::Function* GetStoreFunctionFor(core::ir::Instruction* inst, + core::ir::Var* var, + const core::type::Array* a) { + return var_and_type_to_store_fn_.GetOrAdd(VarTypePair{var, a}, [&] { + auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); + auto* object = b.FunctionParam("object", a); + auto* fn = b.Function(ty.void_()); + fn->SetParams({start_byte_offset, object}); + + b.Append(fn->Block(), [&] { + auto* count = a->Count()->As(); + TINT_IR_ASSERT(ir, count); + + b.LoopRange(0_u, u32(count->value), 1_u, [&](core::ir::Value* idx) { + auto* stride = b.Multiply(idx, u32(a->ImplicitStride()))->Result(); + OffsetData od{0, {start_byte_offset, stride}}; + auto* byte_idx = OffsetToValue(od); + auto* from = b.Access(a->ElemType(), object, idx)->Result(); + MakeStore(inst, var, from, byte_idx); + }); + + b.Return(fn); + }); + + return fn; + }); + } +}; + +} // namespace + +Result DecomposeAccess(core::ir::Module& ir, const DecomposeAccessOptions& options) { + TINT_CHECK_RESULT( + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllow16BitIntegers, + core::ir::Capability::kAllowHandleVarsWithoutBindings, + core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kLoosenValidationForShaderIO, + }, + "core.DecomposeUniformAccess")); + + State{ir, options}.Process(); + + return Success; +} + +} // namespace tint::core::ir::transform diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.h b/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.h new file mode 100644 index 000000000..099b0bdff --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_access.h @@ -0,0 +1,66 @@ +// Copyright 2024 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef SRC_TINT_LANG_CORE_IR_TRANSFORM_DECOMPOSE_ACCESS_H_ +#define SRC_TINT_LANG_CORE_IR_TRANSFORM_DECOMPOSE_ACCESS_H_ + +#include + +#include "src/tint/utils/result.h" + +// Forward declarations. +namespace tint::core::ir { +class Module; +} // namespace tint::core::ir + +namespace tint::core::ir::transform { + +struct DecomposeAccessOptions { + /// Specify whether all variables in the address space should be decomposed. + bool storage = false; + bool uniform = false; + bool workgroup = false; + bool immediate = false; + + // The minimum size of the resulting array, in bytes. + uint32_t minimum_array_size = 0; + + // TODO(b/477295042): should there be a uniform standard layout option? When enabled uniform + // could be treated like every other storage class. +}; + +/// DecomposeAccess is a transform used to replace uniform, storage, or workgroup variables +/// with an a uniformly typed array instead. +/// +/// @param module the module to transform +/// @returns success or failure +Result DecomposeAccess(core::ir::Module& module, + const DecomposeAccessOptions& options); + +} // namespace tint::core::ir::transform + +#endif // SRC_TINT_LANG_CORE_IR_TRANSFORM_DECOMPOSE_ACCESS_H_ diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_uniform_access.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_uniform_access.cc deleted file mode 100644 index 262b2c65c..000000000 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/decompose_uniform_access.cc +++ /dev/null @@ -1,624 +0,0 @@ -// Copyright 2024 The Dawn & Tint Authors -// -// Redistribution and use in source and binary forms, with or without -// modification, are permitted provided that the following conditions are met: -// -// 1. Redistributions of source code must retain the above copyright notice, this -// list of conditions and the following disclaimer. -// -// 2. Redistributions in binary form must reproduce the above copyright notice, -// this list of conditions and the following disclaimer in the documentation -// and/or other materials provided with the distribution. -// -// 3. Neither the name of the copyright holder nor the names of its -// contributors may be used to endorse or promote products derived from -// this software without specific prior written permission. -// -// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#include "src/tint/lang/core/ir/transform/decompose_uniform_access.h" - -#include - -#include "src/tint/lang/core/ir/builder.h" -#include "src/tint/lang/core/ir/validator.h" - -namespace tint::core::ir::transform { -namespace { - -using namespace tint::core::fluent_types; // NOLINT -using namespace tint::core::number_suffixes; // NOLINT - -/// PIMPL state for the transform. -/// -/// Each uniform buffer variable is rewritten so its store type is an array of vec4u -/// elements. Accesses to original store type contents are rewritten to pick out the -/// right set of vec4u elements and then use bitcasts as needed to construct the originally -/// loaded value. -struct State { - /// The IR module. - core::ir::Module& ir; - - /// The IR builder. - core::ir::Builder b{ir}; - - /// The type manager. - core::type::Manager& ty{ir.Types()}; - - using VarTypePair = std::pair; - /// Maps a struct to the load function - Hashmap var_and_type_to_load_fn_{}; - - /// Process the module. - void Process() { - Vector var_worklist; - for (auto* inst : *ir.root_block) { - // Allow this to run before or after PromoteInitializers by handling non-var root_block - // entries - auto* var = inst->As(); - if (!var) { - continue; - } - - // DecomposeStorageAccess maybe have converte the var pointers into ByteAddressBuffer - // objects. Since they've been changed, then they're Storage buffers and we don't care - // about them here. - auto* var_ty = var->Result()->Type()->As(); - if (!var_ty) { - continue; - } - - // Only care about uniform address space variables. - if (var_ty->AddressSpace() != core::AddressSpace::kUniform) { - continue; - } - - var_worklist.Push(var); - } - - for (auto* var : var_worklist) { - auto* result = var->Result(); - - auto usage_worklist = result->UsagesSorted(); - auto* var_ty = result->Type()->As(); - while (!usage_worklist.IsEmpty()) { - auto usage = usage_worklist.Pop(); - auto* inst = usage.instruction; - - // Load instructions can be destroyed by the replacing access function - if (!inst->Alive()) { - continue; - } - - OffsetData od{}; - tint::Switch( - inst, // - [&](core::ir::LoadVectorElement* l) { LoadVectorElement(l, var, od); }, - [&](core::ir::Load* l) { Load(l, var, od); }, - [&](core::ir::Access* a) { Access(a, var, a->Object()->Type(), od); }, - [&](core::ir::Let* let) { - // The `let` is, essentially, an alias for the `var` as it's assigned - // directly. Gather all the `let` usages into our worklist, and then replace - // the `let` with the `var` itself. - for (auto& use : let->Result()->UsagesSorted()) { - usage_worklist.Push(use); - } - let->Result()->ReplaceAllUsesWith(result); - let->Destroy(); - }, - TINT_ICE_ON_NO_MATCH); - } - - // Swap the result type of the `var` to the new result type - auto array_length = (var_ty->StoreType()->Size() + 15) / 16; - result->SetType(ty.ptr(var_ty->AddressSpace(), ty.array(ty.vec4u(), array_length), - var_ty->Access())); - } - } - - // OffsetData represents an unsigned integer expression. - // The value is the sum of a const part, held in `byte_offset`, and - // non-const parts in `byte_offset_expr`. - struct OffsetData { - uint32_t byte_offset = 0; - Vector byte_offset_expr{}; - }; - - // Note, must be called inside a builder insert block (Append, InsertBefore, etc) - core::ir::Value* OffsetToValue(OffsetData offset) { - core::ir::Value* val = nullptr; - - // If the offset is zero, skip setting val. This way, we won't add `0 +` and create useless - // addition expressions, but if the offset is zero, and there are no expressions, make sure - // we return the 0 value. - if (offset.byte_offset != 0) { - val = b.Value(u32(offset.byte_offset)); - } else if (offset.byte_offset_expr.IsEmpty()) { - return b.Value(0_u); - } - - for (core::ir::Value* expr : offset.byte_offset_expr) { - if (!val) { - val = expr; - } else { - val = b.Add(val, expr)->Result(); - } - } - - return val; - } - - // Converts a byte offset to an index into a vec4u array. - // After the transform runs the store type of the uniform buffer variable is an - // array of vec4u. - // Note, this must be called inside a builder insert block (Append, InsertBefore, etc) - core::ir::Value* OffsetValueToArrayIndex(core::ir::Value* val) { - if (auto* cnst = val->As()) { - auto v = cnst->Value()->ValueAs(); - return b.Value(u32(v / 16u)); - } - return b.Divide(val, 16_u)->Result(); - } - - // Calculates the index of the vec4u element containing the byte at (byte_idx % 16). - // Assumes the upper bits of byte_idx have already been used to access the correct - // vec4u array element in the underlying variable. - core::ir::Value* CalculateVectorOffset(core::ir::Value* byte_idx) { - if (auto* byte_cnst = byte_idx->As()) { - return b.Value(u32((byte_cnst->Value()->ValueAs() % 16u) / 4u)); - } - // Note: Using bitwise-and and shift instead of modulo and divide here was necessary to - // avoid an FXC miscompile. See https://crbug.com/454366353. - return b.ShiftRight(b.And(byte_idx, 15_u), 2_u)->Result(); - } - - void Access(core::ir::Access* a, - core::ir::Var* var, - const core::type::Type* obj_ty, - OffsetData offset) { - // Note, because we recurse through the `access` helper, the object passed in isn't - // necessarily the originating `var` object, but maybe a partially resolved access chain - // object. - if (auto* view = obj_ty->As()) { - obj_ty = view->StoreType(); - } - - auto update_offset = [&](core::ir::Value* idx_value, uint32_t size) { - tint::Switch( - idx_value, - [&](core::ir::Constant* cnst) { - uint32_t idx = cnst->Value()->ValueAs(); - offset.byte_offset += size * idx; - }, - [&](core::ir::Value* val) { - b.InsertBefore(a, [&] { - offset.byte_offset_expr.Push( - b.Multiply(u32(size), b.InsertConvertIfNeeded(ty.u32(), val)) - ->Result()); - }); - }); - }; - - for (auto* idx_value : a->Indices()) { - tint::Switch( - obj_ty, - [&](const core::type::Vector* v) { - update_offset(idx_value, v->Type()->Size()); - obj_ty = v->Type(); - }, - [&](const core::type::Matrix* m) { - update_offset(idx_value, m->ColumnStride()); - obj_ty = m->ColumnType(); - }, - [&](const core::type::Array* ary) { - update_offset(idx_value, ary->ImplicitStride()); - obj_ty = ary->ElemType(); - }, - [&](const core::type::Struct* s) { - auto* cnst = idx_value->As(); - - // A struct index must be a constant - TINT_IR_ASSERT(ir, cnst); - - uint32_t idx = cnst->Value()->ValueAs(); - auto* mem = s->Members()[idx]; - obj_ty = mem->Type(); - offset.byte_offset += mem->Offset(); - }, - TINT_ICE_ON_NO_MATCH); - } - - auto usages = a->Result()->UsagesSorted(); - while (!usages.IsEmpty()) { - auto usage = usages.Pop(); - tint::Switch( - usage.instruction, - [&](core::ir::Let* let) { - // The `let` is essentially an alias to the `access`. So, add the `let` - // usages into the usage worklist, and replace the let with the access chain - // directly. - for (auto& u : let->Result()->UsagesSorted()) { - usages.Push(u); - } - let->Result()->ReplaceAllUsesWith(a->Result()); - let->Destroy(); - }, - [&](core::ir::Access* sub_access) { - // Treat an access chain of the access chain as a continuation of the outer - // chain. Pass through the object we stopped at and the current byte_offset - // and then restart the access chain replacement for the new access chain. - Access(sub_access, var, obj_ty, offset); - }, - [&](core::ir::Load* ld) { - a->Result()->RemoveUsage(usage); - Load(ld, var, offset); - }, - [&](core::ir::LoadVectorElement* lve) { - a->Result()->RemoveUsage(usage); - LoadVectorElement(lve, var, offset); - }, - TINT_ICE_ON_NO_MATCH); - } - a->Destroy(); - } - - void Load(core::ir::Load* ld, core::ir::Var* var, OffsetData offset) { - b.InsertBefore(ld, [&] { - auto* byte_idx = OffsetToValue(offset); - auto* result = MakeLoad(ld, var, ld->Result()->Type(), byte_idx); - ld->Result()->ReplaceAllUsesWith(result->Result()); - }); - ld->Destroy(); - } - - void LoadVectorElement(core::ir::LoadVectorElement* lve, - core::ir::Var* var, - OffsetData offset) { - b.InsertBefore(lve, [&] { - // Add the byte count from the start of the vector to the requested element to the - // current offset calculation - auto elem_byte_size = lve->Result()->Type()->DeepestElement()->Size(); - if (auto* cnst = lve->Index()->As()) { - offset.byte_offset += (cnst->Value()->ValueAs() * elem_byte_size); - } else { - offset.byte_offset_expr.Push( - b.Multiply(b.InsertConvertIfNeeded(ty.u32(), lve->Index()), u32(elem_byte_size)) - ->Result()); - } - - auto* byte_idx = OffsetToValue(offset); - auto* result = MakeLoad(lve, var, lve->Result()->Type(), byte_idx); - lve->Result()->ReplaceAllUsesWith(result->Result()); - }); - lve->Destroy(); - } - - // Creates the appropriate load instructions for the given result type. - core::ir::Instruction* MakeLoad(core::ir::Instruction* inst, - core::ir::Var* var, - const core::type::Type* result_ty, - core::ir::Value* byte_idx) { - if (result_ty->IsFloatScalar() || result_ty->IsIntegerScalar()) { - return MakeScalarLoad(var, result_ty, byte_idx); - } - - return tint::Switch( - result_ty, - [&](const core::type::Struct* s) { - auto* fn = GetLoadFunctionFor(inst, var, s); - return b.Call(fn, byte_idx); - }, - [&](const core::type::Matrix* m) { - auto* fn = GetLoadFunctionFor(inst, var, m); - return b.Call(fn, byte_idx); - }, - [&](const core::type::Array* a) { - auto* fn = GetLoadFunctionFor(inst, var, a); - return b.Call(fn, byte_idx); - }, - [&](const core::type::Vector* v) { return MakeVectorLoad(var, v, byte_idx); }, - TINT_ICE_ON_NO_MATCH); - } - - core::ir::Instruction* MakeScalarLoad(core::ir::Var* var, - const core::type::Type* result_ty, - core::ir::Value* byte_idx) { - auto* array_idx = OffsetValueToArrayIndex(byte_idx); - auto* access = b.Access(ty.ptr(uniform, ty.vec4u()), var, array_idx); - - auto* vec_idx = CalculateVectorOffset(byte_idx); - core::ir::Instruction* load = b.LoadVectorElement(access, vec_idx); - if (result_ty->Is()) { - return ExtractScalarF16(load, byte_idx); - } - return b.Bitcast(result_ty, load); - } - - core::ir::Access* ExtractScalarF16(core::ir::Instruction* load, core::ir::Value* byte_idx) { - // We will bitcast the u32 to a vec2h and then extract the element that we want. - core::ir::Value* element_index = nullptr; - if (auto* cnst = byte_idx->As()) { - if (cnst->Value()->ValueAs() % 4 == 0) { - element_index = b.Constant(0_u); - } else { - element_index = b.Constant(1_u); - } - } else { - auto* false_ = b.Value(1_u); - auto* true_ = b.Value(0_u); - auto* cond = b.Equal(b.Modulo(byte_idx, 4_u), 0_u); - - Vector args{false_, true_, cond->Result()}; - element_index = b.Call(ty.u32(), core::BuiltinFn::kSelect, args)->Result(); - } - - auto* bitcast = b.Bitcast>(load); - return b.Access(bitcast, element_index); - } - - // When loading a vector we have to take the alignment into account to determine which part of - // the `uint4` to load. A `vec` of `u32`, `f32` or `i32` has an alignment requirement of - // a multiple of 8-bytes (`f16` is 4-bytes). So, this means we'll have memory like: - // - // Byte: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | - // Value:| v1 | v2 | v3 | v4 | - // Scalar Index: 0 1 2 3 - // - // Start with a byte address which is `offset + (column * columnStride)`, the array index is - // `byte_address / 16`. This gives us the `uint4` which contains our values. We can then - // calculate the vector offset as `(byte_address % 16) / 4`. - // - // * A 4-element row we access all 4-elements at the `array_idx` - // * A 3-element row we access `array_idx` at `.xyz` as it must be padded to a vec4. - // * A 2-element row, we have to decide if we want the `xy` or `zw` element. We have a minimum - // alignment of 8-bytes as per the WGSL spec. So if the `vector_idx != 2` is `0` then we - // access the `.xy` component, otherwise it is in the `.zw` component. - core::ir::Instruction* MakeVectorLoad(core::ir::Var* var, - const core::type::Vector* result_ty, - core::ir::Value* byte_idx) { - auto* array_idx = OffsetValueToArrayIndex(byte_idx); - auto* access = b.Access(ty.ptr(uniform, ty.vec4u()), var, array_idx); - - if (result_ty->DeepestElement()->Is()) { - return MakeVectorLoadF16(access, result_ty, byte_idx); - } - - TINT_IR_ASSERT(ir, result_ty->DeepestElement()->Size() == 4); - core::ir::Instruction* load = nullptr; - if (result_ty->Width() == 4) { - load = b.Load(access); - } else if (result_ty->Width() == 3) { - load = b.Swizzle(ty.vec3u(), b.Load(access), {0, 1, 2}); - } else if (result_ty->Width() == 2) { - auto* vec_idx = CalculateVectorOffset(byte_idx); - if (auto* cnst = vec_idx->As()) { - if (cnst->Value()->ValueAs() == 2u) { - load = b.Swizzle(ty.vec2u(), b.Load(access), {2, 3}); - } else { - load = b.Swizzle(ty.vec2u(), b.Load(access), {0, 1}); - } - } else { - auto* ubo = b.Load(access); - // if vec_idx == 2 -> zw - auto* sw_lhs = b.Swizzle(ty.vec2u(), ubo, {2, 3}); - // else -> xy - auto* sw_rhs = b.Swizzle(ty.vec2u(), ubo, {0, 1}); - auto* cond = b.Equal(vec_idx, 2_u); - - Vector args{sw_rhs->Result(), sw_lhs->Result(), - cond->Result()}; - - load = b.Call(ty.vec2u(), core::BuiltinFn::kSelect, args); - } - } else { - TINT_IR_UNREACHABLE(ir); - } - return b.Bitcast(result_ty, load); - } - - // Returns the instruction for getting a vector-of-f16 value of type `result_ty` - // out of the pointer-to-vec4u value `access`. Get the components starting - // at byte offset (byte_idx % 16). - // A `vec4` or `vec3` of `f16` has 8-byte alignment, while a `vec2` of `f16` has 4-byte - // alignment. So, this means we'll have memory like: - // - // Byte: | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | - // Scalar Index: 0 | 1 | 2 | 3 | - // vec4:| x | y | z | w | - // vec4:| x | y | z | w | x | y | z | w | - // vec3:| x | y | z | | x | y | z | | - // vec2:| x | y | x | y | x | y | x | y | - core::ir::Instruction* MakeVectorLoadF16(core::ir::Access* access, - const core::type::Vector* result_ty, - core::ir::Value* byte_idx) { - // Vec4 ends up being the same as a bitcast of vec2 to a vec4. - // A vec3 will be stored as a vec4, so we can bitcast as if we're a vec4 - // and swizzle out the last element. - if (result_ty->Width() == 3 || result_ty->Width() == 4) { - core::ir::Instruction* load = nullptr; - auto* vec_idx = CalculateVectorOffset(byte_idx); // 0 or 2 - if (auto* cnst = vec_idx->As()) { - if (cnst->Value()->ValueAs() == 2u) { - load = b.Swizzle(ty.vec2u(), b.Load(access), {2, 3}); - } else { - load = b.Swizzle(ty.vec2u(), b.Load(access), {0, 1}); - } - } else { - auto* ubo = b.Load(access); - // if vec_idx == 2 -> zw - auto* sw_lhs = b.Swizzle(ty.vec2u(), ubo, {2, 3}); - // else -> xy - auto* sw_rhs = b.Swizzle(ty.vec2u(), ubo, {0, 1}); - auto* cond = b.Equal(vec_idx, 2_u); - auto args = Vector{sw_rhs->Result(), sw_lhs->Result(), cond->Result()}; - load = b.Call(ty.vec2u(), core::BuiltinFn::kSelect, std::move(args)); - } - if (result_ty->Width() == 3) { - auto* bc = b.Bitcast(ty.vec4(result_ty->Type()), load); - return b.Swizzle(result_ty, bc, {0, 1, 2}); - } - return b.Bitcast(result_ty, load); - } - - // Vec2 ends up being the same as a bitcast u32 to vec2 - if (result_ty->Width() == 2) { - core::ir::Instruction* load = nullptr; - auto* vec_idx = CalculateVectorOffset(byte_idx); // 0, 1, 2, or 3 - if (auto* cnst = vec_idx->As()) { - const auto vec_idx_val = cnst->Value()->ValueAs(); - load = b.Swizzle(ty.u32(), b.Load(access), {vec_idx_val}); - } else { - load = b.Access(ty.u32(), b.Load(access), vec_idx); - } - return b.Bitcast(result_ty, load); - } - - TINT_IR_UNREACHABLE(ir); - } - - // Creates a load function for the given `var` and `matrix` combination. Essentially creates - // a function similar to: - // - // fn custom_load_M(offset: u32) { - // const uint scalar_offset = ((offset + 0u)) / 4; - // const uint scalar_offset_1 = ((offset + (1 * ColumnStride))) / 4; - // const uint scalar_offset_2 = ((offset + (2 * ColumnStride))) / 4; - // const uint scalar_offset_3 = ((offset + (3 * ColumnStride)))) / 4; - // return float4x4( - // asfloat(v[scalar_offset / 4]), - // asfloat(v[scalar_offset_1 / 4]), - // asfloat(v[scalar_offset_2 / 4]), - // asfloat(v[scalar_offset_3 / 4]) - // ); - // } - core::ir::Function* GetLoadFunctionFor(core::ir::Instruction* inst, - core::ir::Var* var, - const core::type::Matrix* mat) { - return var_and_type_to_load_fn_.GetOrAdd(VarTypePair{var, mat}, [&] { - auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); - auto* fn = b.Function(mat); - fn->SetParams({start_byte_offset}); - - b.Append(fn->Block(), [&] { - Vector values; - for (size_t i = 0; i < mat->Columns(); ++i) { - uint32_t stride = static_cast(i * mat->ColumnStride()); - - OffsetData od{stride, {start_byte_offset}}; - auto* byte_idx = OffsetToValue(od); - values.Push(MakeLoad(inst, var, mat->ColumnType(), byte_idx)->Result()); - } - b.Return(fn, b.Construct(mat, values)); - }); - - return fn; - }); - } - - // Creates a load function for the given `var` and `array` combination. Essentially creates - // a function similar to: - // - // fn custom_load_A(offset: u32) { - // A a = A(); - // u32 i = 0; - // loop { - // if (i >= A length) { - // break; - // } - // offset = (offset + (i * A->ImplicitStride())) / 16 - // a[i] = cast(v[offset].xyz) - // i = i + 1; - // } - // return a; - // } - core::ir::Function* GetLoadFunctionFor(core::ir::Instruction* inst, - core::ir::Var* var, - const core::type::Array* arr) { - return var_and_type_to_load_fn_.GetOrAdd(VarTypePair{var, arr}, [&] { - auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); - auto* fn = b.Function(arr); - fn->SetParams({start_byte_offset}); - - b.Append(fn->Block(), [&] { - auto* result_arr = b.Var("a", b.Zero(arr)); - - auto* count = arr->Count()->As(); - TINT_IR_ASSERT(ir, count); - - b.LoopRange(0_u, u32(count->value), 1_u, [&](core::ir::Value* idx) { - auto* stride = b.Multiply(idx, u32(arr->ImplicitStride()))->Result(); - OffsetData od{0, {start_byte_offset, stride}}; - auto* byte_idx = OffsetToValue(od); - auto* access = b.Access(ty.ptr(arr->ElemType()), result_arr, idx); - b.Store(access, MakeLoad(inst, var, arr->ElemType(), byte_idx)); - }); - - b.Return(fn, b.Load(result_arr)); - }); - - return fn; - }); - } - - // Creates a load function for the given `var` and `struct` combination. Essentially creates - // a function similar to: - // - // fn custom_load_S(start_offset: u32) { - // let a = load object at (start_offset + member_offset) - // let b = load object at (start_offset + member 1 offset); - // ... - // return S(a, b, ..., z); - // } - core::ir::Function* GetLoadFunctionFor(core::ir::Instruction* inst, - core::ir::Var* var, - const core::type::Struct* s) { - return var_and_type_to_load_fn_.GetOrAdd(VarTypePair{var, s}, [&] { - auto* start_byte_offset = b.FunctionParam("start_byte_offset", ty.u32()); - auto* fn = b.Function(s); - fn->SetParams({start_byte_offset}); - - b.Append(fn->Block(), [&] { - Vector values; - for (const auto* mem : s->Members()) { - uint32_t stride = static_cast(mem->Offset()); - - OffsetData od{stride, {start_byte_offset}}; - auto* byte_idx = OffsetToValue(od); - values.Push(MakeLoad(inst, var, mem->Type(), byte_idx)->Result()); - } - - b.Return(fn, b.Construct(s, values)); - }); - - return fn; - }); - } -}; - -} // namespace - -Result DecomposeUniformAccess(core::ir::Module& ir) { - TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.DecomposeUniformAccess", - core::ir::Capabilities{ - core::ir::Capability::kAllow8BitIntegers, - core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllowNonCoreTypes, - })); - - State{ir}.Process(); - - return Success; -} - -} // namespace tint::core::ir::transform diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/demote_to_helper.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/demote_to_helper.cc index 0e5c61a1f..7935f2738 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/demote_to_helper.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/demote_to_helper.cc @@ -215,7 +215,7 @@ struct State { Result DemoteToHelper(Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.DemoteToHelper", kDemoteToHelperCapabilities)); + ValidateBeforeIfNeeded(ir, kDemoteToHelperCapabilities, "core.DemoteToHelper")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/direct_variable_access.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/direct_variable_access.cc index 07f623ab1..c8aee484e 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/direct_variable_access.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/direct_variable_access.cc @@ -672,8 +672,8 @@ struct State { } // namespace Result DirectVariableAccess(Module& ir, const DirectVariableAccessOptions& options) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.DirectVariableAccess", - kDirectVariableAccessCapabilities)); + TINT_CHECK_RESULT( + ValidateBeforeIfNeeded(ir, kDirectVariableAccessCapabilities, "core.DirectVariableAccess")); State{ir, options}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/multiplanar_external_texture.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/multiplanar_external_texture.cc index 8d035c0fc..69a759260 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/multiplanar_external_texture.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/multiplanar_external_texture.cc @@ -227,8 +227,8 @@ struct State { if (call->Func() == core::BuiltinFn::kTextureDimensions) { // Use params.apparentSize + vec2u(1, 1) instead of the textureDimensions. b.InsertBefore(call, [&] { - auto* apparent_size = b.Access>(params, 12_u); - auto* vec2u_1_1 = b.Splat>(1_u); + auto* apparent_size = b.Access(params, 12_u); + auto* vec2u_1_1 = b.Splat(1_u); auto* dimensions = b.Add(apparent_size, vec2u_1_1); dimensions->SetResult(call->DetachResult()); }); @@ -603,8 +603,8 @@ struct State { Result MultiplanarExternalTexture( Module& ir, const tint::transform::multiplanar::BindingsMap& multiplanar_map) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.MultiplanarExternalTexture", - kMultiplanarExternalTextureCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kMultiplanarExternalTextureCapabilities, + "core.MultiplanarExternalTexture")); return State{multiplanar_map, ir}.Process(); } diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/prepare_immediate_data.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/prepare_immediate_data.cc index f36a58ae7..3fe55b30f 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/prepare_immediate_data.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/prepare_immediate_data.cc @@ -149,12 +149,13 @@ struct State { Result PrepareImmediateData(Module& ir, const PrepareImmediateDataConfig& config) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.PrepareImmediateData", - core::ir::Capabilities{ - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllow8BitIntegers, - core::ir::Capability::kAllowNonCoreTypes, - })); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllowNonCoreTypes, + }, + "core.PrepareImmediateData")); return State{config, ir}.Run(); } diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/preserve_padding.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/preserve_padding.cc index 0178f0dcf..3a123dea2 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/preserve_padding.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/preserve_padding.cc @@ -170,7 +170,7 @@ struct State { Result PreservePadding(Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.PreservePadding", kPreservePaddingCapabilities)); + ValidateBeforeIfNeeded(ir, kPreservePaddingCapabilities, "core.PreservePadding")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/prevent_infinite_loops.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/prevent_infinite_loops.cc index dd04e96d2..573b253c4 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/prevent_infinite_loops.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/prevent_infinite_loops.cc @@ -78,7 +78,7 @@ struct State { // idx.y -= u32(idx.x == UINT32_MAX); // Declare a new index variable at the top of the loop initializer. - auto* idx = b.Var("tint_loop_idx", b.Splat>(u32::Highest())); + auto* idx = b.Var("tint_loop_idx", b.Splat(u32::Highest())); if (loop->Initializer()->IsEmpty()) { loop->Initializer()->Append(b.NextIteration(loop)); } @@ -86,8 +86,8 @@ struct State { // Insert the new exit condition at the top of the loop body. b.InsertBefore(loop->Body()->Front(), [&] { - auto* ifelse = b.If(b.Call( - BuiltinFn::kAll, b.Equal(b.Load(idx)->Result(), b.Splat>(0_u)))); + auto* ifelse = b.If( + b.Call(BuiltinFn::kAll, b.Equal(b.Load(idx)->Result(), b.Splat(0_u)))); b.Append(ifelse->True(), [&] { // If the loop produces result values, just use `undef` as this exit condition // should never actually be hit. @@ -116,8 +116,8 @@ struct State { } // namespace Result PreventInfiniteLoops(Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.PreventInfiniteLoops", - kPreventInfiniteLoopsCapabilities)); + TINT_CHECK_RESULT( + ValidateBeforeIfNeeded(ir, kPreventInfiniteLoopsCapabilities, "core.PreventInfiniteLoops")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_continue_in_switch.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_continue_in_switch.cc index c828bcf29..74c6fbafc 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_continue_in_switch.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_continue_in_switch.cc @@ -121,14 +121,15 @@ struct State { Result RemoveContinueInSwitch(Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.RemoveContinueInSwitch", - core::ir::Capabilities{ - core::ir::Capability::kAllowVectorElementPointer, - core::ir::Capability::kAllowHandleVarsWithoutBindings, - core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllowNonCoreTypes, - })); + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowVectorElementPointer, + core::ir::Capability::kAllowHandleVarsWithoutBindings, + core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllowNonCoreTypes, + }, + "core.RemoveContinueInSwitch")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_terminator_args.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_terminator_args.cc index a07190dee..36f7dc57f 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_terminator_args.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_terminator_args.cc @@ -163,8 +163,8 @@ struct State { } // namespace Result RemoveTerminatorArgs(Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.RemoveTerminatorArgs", - kRemoveTerminatorArgsCapabilities)); + TINT_CHECK_RESULT( + ValidateBeforeIfNeeded(ir, kRemoveTerminatorArgsCapabilities, "core.RemoveTerminatorArgs")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_uniform_vector_component_loads.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_uniform_vector_component_loads.cc index 7ee131916..7905f0b0b 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_uniform_vector_component_loads.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/remove_uniform_vector_component_loads.cc @@ -78,12 +78,13 @@ struct State { } // namespace Result RemoveUniformVectorComponentLoads(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.RemoveUniformVectorComponentLoads", - core::ir::Capabilities{ - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllow8BitIntegers, - })); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllow8BitIntegers, + }, + "core.RemoveUniformVectorComponentLoads")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/rename_conflicts.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/rename_conflicts.cc index 86dc36202..76e06a6f0 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/rename_conflicts.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/rename_conflicts.cc @@ -27,6 +27,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/core/ir/transform/rename_conflicts.h" + #include "src/tint/lang/core/ir/construct.h" #include "src/tint/lang/core/ir/control_instruction.h" #include "src/tint/lang/core/ir/convert.h" @@ -301,7 +302,7 @@ struct State { Result RenameConflicts(core::ir::Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.RenameConflicts", kRenameConflictsCapabilities)); + ValidateBeforeIfNeeded(ir, kRenameConflictsCapabilities, "core.RenameConflicts")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table.cc index 8e116e581..4299fc372 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table.cc @@ -133,9 +133,28 @@ struct State { b.Append(has_check->True(), [&] { auto* type_val = b.Access(ty.ptr(), storage_buffer, 1_u, idx); - auto* v = b.Load(type_val); - auto* eq = b.Equal(v, u32(static_cast(core::type::TypeToResourceType(type)))); + + ResourceType resource_ty = core::type::TypeToResourceType(type); + + core::ir::Value* eq = nullptr; + std::vector conv = core::type::ConvertsFrom(type); + if (!conv.empty()) { + auto* conv_ty = ty.vec(ty.u32(), static_cast(conv.size()) + 1); + auto* lhs = b.Construct(conv_ty, v); + + Vector vals; + vals.Push(b.Value(u32(resource_ty))); + for (auto& r : conv) { + vals.Push(b.Value(u32(r))); + } + + auto* rhs = b.Construct(conv_ty, vals); + auto* cmp = b.Equal(lhs, rhs); + eq = b.Call(ty.bool_(), core::BuiltinFn::kAny, cmp)->Result(); + } else { + eq = b.Equal(v, u32(resource_ty))->Result(); + } b.ExitIf(has_check, eq); }); @@ -181,14 +200,14 @@ struct State { } core::ir::Var* InjectStorageBuffer(const BindingPoint& bp) { - auto* str = ty.Struct(ir.symbols.New("tint_resource_table_buffer"), + auto* str = ty.Struct(ir.symbols.New("tint_resource_table_metadata_struct"), Vector{ {ir.symbols.New("array_length"), ty.u32()}, {ir.symbols.New("bindings"), ty.array()}, }); auto* sb_ty = ty.ptr(storage, str, read); - auto* sb = b.Var(sb_ty); + auto* sb = b.Var("tint_resource_table_metadata", sb_ty); sb->SetBindingPoint(bp.group, bp.binding); return sb; @@ -202,7 +221,7 @@ ResourceTableHelper::~ResourceTableHelper() = default; Result ResourceTable(core::ir::Module& ir, const ResourceTableConfig& config, ResourceTableHelper* helper) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.ResourceTable")); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, {}, "core.ResourceTable")); State{config, ir, helper}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table_helper.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table_helper.cc index f27dd483b..477c6bd11 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table_helper.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/resource_table_helper.cc @@ -32,17 +32,14 @@ #include #include "src/tint/lang/core/ir/core_builtin_call.h" -#include "src/tint/lang/core/ir/load.h" -#include "src/tint/lang/core/ir/var.h" #include "src/tint/lang/core/type/resource_type.h" -#include "src/tint/utils/rtti/switch.h" namespace tint::core::ir::transform { std::optional GenerateResourceTableConfig(Module& mod) { ResourceTableConfig cfg{ - .resource_table_binding = BindingPoint{.group = 42, .binding = 41}, - .storage_buffer_binding = BindingPoint{.group = 42, .binding = 42}, + .resource_table_binding = BindingPoint{.group = 43, .binding = 51}, + .storage_buffer_binding = BindingPoint{.group = 42, .binding = 52}, .default_binding_type_order = {}, }; diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.cc index 7c331c061..b753e122b 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.cc @@ -568,7 +568,7 @@ struct State { } // namespace Result Robustness(Module& ir, const RobustnessConfig& config) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.Robustness", kRobustnessCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kRobustnessCapabilities, "core.Robustness")); State{config, ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.h b/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.h index 8530428e5..16d4d73dd 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/robustness.h @@ -29,9 +29,9 @@ #define SRC_TINT_LANG_CORE_IR_TRANSFORM_ROBUSTNESS_H_ #include -#include "src/tint/lang/core/ir/validator.h" #include "src/tint/api/common/binding_point.h" +#include "src/tint/lang/core/ir/validator.h" #include "src/tint/utils/reflection.h" #include "src/tint/utils/result.h" diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.cc index c73f5e778..d5dadf0dd 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.cc @@ -257,6 +257,66 @@ struct State { } // namespace +core::ir::Value* ShaderIOBackendState::PolyfillWorkgroupIndex(Builder& builder, + uint32_t workgroup_id_index, + uint32_t num_workgroups_index) { + if (tint_workgroup_index != nullptr) { + return tint_workgroup_index; + } + + // workgroup_index = workgroup_id.x + + // (workgroup_id.y * num_workgroups.x) + + // (workgroup_id.z * num_workgroups.x * num_workgroups.y) + auto* workgroup_id = GetInput(builder, workgroup_id_index); + auto* num_workgroups = GetInput(builder, num_workgroups_index); + + auto* num_workgroups_x = builder.Access(ty.u32(), num_workgroups, 0_u); + auto* num_workgroups_y = builder.Access(ty.u32(), num_workgroups, 1_u); + auto* z_part = builder.Multiply(num_workgroups_x, num_workgroups_y)->Result(); + z_part = builder.Multiply(builder.Access(ty.u32(), workgroup_id, 2_u), z_part)->Result(); + auto* y_part = + builder.Multiply(builder.Access(ty.u32(), workgroup_id, 1_u), num_workgroups_x)->Result(); + auto* init = builder.Add(builder.Access(ty.u32(), workgroup_id, 0_u), y_part)->Result(); + init = builder.Add(init, z_part)->Result(); + tint_workgroup_index = init; + return tint_workgroup_index; +} + +core::ir::Value* ShaderIOBackendState::PolyfillGlobalInvocationIndex( + Builder& builder, + uint32_t global_invocation_id_index, + uint32_t num_workgroups_index) { + if (tint_global_invocation_index) { + return tint_global_invocation_index; + } + + // global_invocation_index = + // global_invocation_id.x + + // (global_invocation_id.y * num_workgroups.x * workgroup_size.x) + + // (global_invocation_id.z * num_workgroups.x * workgroup_size.x * num_workgroups.y * + // workgroup_size.y) + auto* num_workgroups = GetInput(builder, num_workgroups_index); + auto* global_id = GetInput(builder, global_invocation_id_index); + + auto* global_id_x = builder.Access(ty.u32(), global_id, 0_u); + auto* global_id_y = builder.Access(ty.u32(), global_id, 1_u); + auto* global_id_z = builder.Access(ty.u32(), global_id, 2_u); + + auto* num_workgroups_x = builder.Access(ty.u32(), num_workgroups, 0_u); + auto* num_workgroups_y = builder.Access(ty.u32(), num_workgroups, 1_u); + + auto* x_size = builder.Multiply(num_workgroups_x, u32(workgroup_size->at(0))); + auto* y_size = builder.Multiply(num_workgroups_y, u32(workgroup_size->at(1))); + + auto* z_part = builder.Multiply(x_size, y_size); + z_part = builder.Multiply(global_id_z, z_part); + auto* y_part = builder.Multiply(global_id_y, x_size); + auto* value = builder.Add(global_id_x, y_part); + value = builder.Add(value, z_part); + tint_global_invocation_index = value->Result(); + return tint_global_invocation_index; +} + void RunShaderIOBase(Module& module, std::function make_backend_state) { State{make_backend_state, module}.Process(); } diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.h b/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.h index ce273073e..8ddad91e9 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/shader_io.h @@ -103,6 +103,31 @@ struct ShaderIOBackendState { /// @returns true if a vertex point size builtin should be added virtual bool NeedsVertexPointSize() const { return false; } + /// Creates the polyfilled workgroup_index builtin value. + /// Each backend is responsible for tracking the indices of workgroup_id and num_workgroups + /// builtin values (and ensuring they are available in the module). + /// @param builder The IR builder + /// @param workgroup_id_index The index for GetInputs of the workgroup_id builtin value + /// @param num_workgroups_index The index for GetInputs of the num_workgroups builtin value + core::ir::Value* PolyfillWorkgroupIndex(Builder& builder, + uint32_t workgroup_id_index, + uint32_t num_workgroups_index); + + /// Creates the polyfilled global_invocation_index builtin value. + /// Each backend is responsible for tracking the indices of global_invocation_id and + /// num_workgroups builtin values (and ensuring they are available in the module). + /// @param builder The IR builder + /// @param global_invocation_id_index The index for GetInputs of the global_invocation_id + /// builtin value + /// @param num_workgroups_index The index for GetInputs of the num_workgroups builtin value + core::ir::Value* PolyfillGlobalInvocationIndex(Builder& builder, + uint32_t global_invocation_id_index, + uint32_t num_workgroups_index); + + /// The workgroup size of the entry point. + /// Backends are responsible for caching this value. + std::optional> workgroup_size = std::nullopt; + protected: /// The IR module. Module& ir; @@ -121,6 +146,9 @@ struct ShaderIOBackendState { /// The list of shader outputs. Vector outputs; + + core::ir::Value* tint_workgroup_index = nullptr; + core::ir::Value* tint_global_invocation_index = nullptr; }; /// The signature for a function that creates a backend state object. diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/signed_integer_polyfill.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/signed_integer_polyfill.cc index 9d24cfc30..a8f94e9c7 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/signed_integer_polyfill.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/signed_integer_polyfill.cc @@ -146,21 +146,22 @@ struct State { Result SignedIntegerPolyfill(core::ir::Module& ir, const SignedIntegerPolyfillConfig& cfg) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "ir.SignedIntegerPolyfill", - core::ir::Capabilities{ - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllow8BitIntegers, - core::ir::Capability::kAllow64BitIntegers, - core::ir::Capability::kAllowPointSizeBuiltin, - core::ir::Capability::kAllowVectorElementPointer, - core::ir::Capability::kAllowHandleVarsWithoutBindings, - core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, - core::ir::Capability::kAllowAnyLetType, - core::ir::Capability::kMslAllowEntryPointInterface, - core::ir::Capability::kAllowModuleScopeLets, - core::ir::Capability::kAllowAnyInputAttachmentIndexType, - core::ir::Capability::kAllowNonCoreTypes, - })); + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllow64BitIntegers, + core::ir::Capability::kAllowPointSizeBuiltin, + core::ir::Capability::kAllowVectorElementPointer, + core::ir::Capability::kAllowHandleVarsWithoutBindings, + core::ir::Capability::kAllowClipDistancesOnF32ScalarAndVector, + core::ir::Capability::kAllowAnyLetType, + core::ir::Capability::kMslAllowEntryPointInterface, + core::ir::Capability::kAllowModuleScopeLets, + core::ir::Capability::kAllowAnyInputAttachmentIndexType, + core::ir::Capability::kAllowNonCoreTypes, + }, + "ir.SignedIntegerPolyfill")); State{ir, cfg}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/single_entry_point.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/single_entry_point.cc index 0236d5827..0cc86fd9a 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/single_entry_point.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/single_entry_point.cc @@ -106,7 +106,7 @@ Result Run(ir::Module& ir, std::string_view entry_point_name) { Result SingleEntryPoint(Module& ir, std::string_view entry_point_name) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.SingleEntryPoint", kSingleEntryPointCapabilities)); + ValidateBeforeIfNeeded(ir, kSingleEntryPointCapabilities, "core.SingleEntryPoint")); return Run(ir, entry_point_name); } diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/std140.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/std140.cc index 552ac252f..0a4730839 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/std140.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/std140.cc @@ -448,7 +448,7 @@ struct State { } // namespace Result Std140(Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.Std140", kStd140Capabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kStd140Capabilities, "core.Std140")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/substitute_overrides.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/substitute_overrides.cc index a6464bb05..84aca74fa 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/substitute_overrides.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/substitute_overrides.cc @@ -29,11 +29,9 @@ #include #include +#include #include -#include "src/tint/lang/core/binary_op.h" -#include "src/tint/lang/core/fluent_types.h" -#include "src/tint/lang/core/ir/binary.h" #include "src/tint/lang/core/ir/builder.h" #include "src/tint/lang/core/ir/const_param_validator.h" #include "src/tint/lang/core/ir/constexpr_if.h" @@ -49,9 +47,6 @@ #include "src/tint/lang/core/ir/value.h" #include "src/utils/numeric.h" -using namespace tint::core::fluent_types; // NOLINT -using namespace tint::core::number_suffixes; // NOLINT - namespace tint::core::ir::transform { namespace { @@ -69,6 +64,13 @@ struct State { /// The type manager. core::type::Manager& ty{ir.Types()}; + diag::Diagnostic MakeError(const Source& src) { + diag::Diagnostic error{}; + error.severity = diag::Severity::Error; + error.source = src; + return error; + } + /// Process the module. diag::Result Process() { Vector to_remove; @@ -122,9 +124,7 @@ struct State { TINT_ICE_ON_NO_MATCH); if (!substitution_representation_valid) { - diag::Diagnostic error{}; - error.severity = diag::Severity::Error; - error.source = ir.SourceOf(override); + diag::Diagnostic error = MakeError(ir.SourceOf(override)); error << "Pipeline overridable constant " << iter->first.value << " with value (" << iter->second << ") is not representable in type (" @@ -138,9 +138,7 @@ struct State { } if (override->Initializer() == nullptr) { - diag::Diagnostic error{}; - error.severity = diag::Severity::Error; - error.source = ir.SourceOf(override); + diag::Diagnostic error = MakeError(ir.SourceOf(override)); error << "Initializer not provided for override, and override not overridden."; return diag::Failure(error); } @@ -203,17 +201,22 @@ struct State { // not check constant evaluation access against zero size. int64_t cnt_size_check = new_value->Value()->ValueAs(); if (cnt_size_check < 1) { - diag::Diagnostic error{}; - error.severity = diag::Severity::Error; - error.source = ir.SourceOf(cnt->value); + diag::Diagnostic error = MakeError(ir.SourceOf(cnt->value)); error << "array count (" << cnt_size_check << ") must be greater than 0"; return diag::Failure(error); } uint32_t num_elements = new_value->Value()->ValueAs(); + uint64_t new_ary_size = uint64_t{num_elements} * old_ty->ImplicitStride(); + if (new_ary_size > std::numeric_limits::max()) { + diag::Diagnostic error = MakeError(ir.SourceOf(cnt->value)); + error << "array size (" << new_ary_size << ") is too large"; + return diag::Failure(error); + } + auto* new_cnt = ty.Get(num_elements); auto* new_ty = ty.Get(old_ty->ElemType(), new_cnt, - num_elements * old_ty->ImplicitStride()); + static_cast(new_ary_size)); auto* new_ptr = ty.ptr(old_ptr->AddressSpace(), new_ty, old_ptr->Access()); var->Result()->SetType(new_ptr); @@ -370,7 +373,7 @@ struct State { Result SubstituteOverrides(Module& ir, const SubstituteOverridesConfig& cfg) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.SubstituteOverrides", kSubstituteOverridesCapabilities)); + ValidateBeforeIfNeeded(ir, kSubstituteOverridesCapabilities, "core.SubstituteOverrides")); { auto result = State{ir, cfg}.Process(); if (result != Success) { diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/value_to_let.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/value_to_let.cc index bfa3881a3..3278e1b75 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/value_to_let.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/value_to_let.cc @@ -230,7 +230,7 @@ struct State { } // namespace Result ValueToLet(Module& ir, const ValueToLetConfig& cfg) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.ValueToLet", kValueToLetCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kValueToLetCapabilities, "core.ValueToLet")); State{ir, cfg}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.cc index 32c6f19c6..3eb085ea6 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/vectorize_scalar_matrix_constructors.cc @@ -94,8 +94,8 @@ struct State { } // namespace Result VectorizeScalarMatrixConstructors(Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.VectorizeScalarMatrixConstructors", - kVectorizeScalarMatrixConstructorsCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kVectorizeScalarMatrixConstructorsCapabilities, + "core.VectorizeScalarMatrixConstructors")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/vertex_pulling.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/vertex_pulling.cc index 0445785ca..0592c64b1 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/vertex_pulling.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/vertex_pulling.cc @@ -363,7 +363,7 @@ struct State { auto load_i32 = [&](uint32_t offset) { return b.Bitcast(load_u32(offset))->Result(); }; auto load_f32 = [&](uint32_t offset) { return b.Bitcast(load_u32(offset))->Result(); }; auto load_ivec = [&](uint32_t offset, uint32_t bits, const core::type::Vector* vec) { - // For a vec2, we read the `xxxx'yyyy` u32 word. We then splat to a vec2 and left + // For a vec2u, we read the `xxxx'yyyy` u32 word. We then splat to a vec2 and left // shift so we have `(xxxx'yyyy, yyyy'xxxx)`. Finally, we right shift to produce // `(0000'xxxx, 0000'yyyy)` auto* uvec = ty.MatchWidth(ty.u32(), vec); @@ -421,27 +421,27 @@ struct State { case VertexFormat::kUint16x4: { auto* xy = load_ivec(0, 16, ty.vec2u()); auto* zw = load_ivec(1, 16, ty.vec2u()); - return b.Construct>(xy, zw)->Result(); + return b.Construct(xy, zw)->Result(); } case VertexFormat::kUint32: return load_u32(0); case VertexFormat::kUint32x2: { auto* x = load_u32(0); auto* y = load_u32(1); - return b.Construct>(x, y)->Result(); + return b.Construct(x, y)->Result(); } case VertexFormat::kUint32x3: { auto* x = load_u32(0); auto* y = load_u32(1); auto* z = load_u32(2); - return b.Construct>(x, y, z)->Result(); + return b.Construct(x, y, z)->Result(); } case VertexFormat::kUint32x4: { auto* x = load_u32(0); auto* y = load_u32(1); auto* z = load_u32(2); auto* w = load_u32(3); - return b.Construct>(x, y, z, w)->Result(); + return b.Construct(x, y, z, w)->Result(); } // Formats that are always i32 in the shader (or vectors of i32). @@ -467,27 +467,27 @@ struct State { case VertexFormat::kSint16x4: { auto* xy = load_ivec(0, 16, ty.vec2i()); auto* zw = load_ivec(1, 16, ty.vec2i()); - return b.Construct>(xy, zw)->Result(); + return b.Construct(xy, zw)->Result(); } case VertexFormat::kSint32: return load_i32(0); case VertexFormat::kSint32x2: { auto* x = load_i32(0); auto* y = load_i32(1); - return b.Construct>(x, y)->Result(); + return b.Construct(x, y)->Result(); } case VertexFormat::kSint32x3: { auto* x = load_i32(0); auto* y = load_i32(1); auto* z = load_i32(2); - return b.Construct>(x, y, z)->Result(); + return b.Construct(x, y, z)->Result(); } case VertexFormat::kSint32x4: { auto* x = load_i32(0); auto* y = load_i32(1); auto* z = load_i32(2); auto* w = load_i32(3); - return b.Construct>(x, y, z, w)->Result(); + return b.Construct(x, y, z, w)->Result(); } // Unsigned normalized formats. @@ -496,7 +496,7 @@ struct State { // ******xx auto* word = load_u32(0); // 000000xx, ********, ********, ******** - auto* unpack = b.Call>(core::BuiltinFn::kUnpack4X8Unorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack4X8Unorm, word); // 000000xx return float_value(b.Access(unpack, 0_u)->Result()); } @@ -504,30 +504,30 @@ struct State { // ****yyxx auto* word = load_u32(0); // 000000xx, 000000yy, ********, ******** - auto* unpack = b.Call>(core::BuiltinFn::kUnpack4X8Unorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack4X8Unorm, word); // 000000xx, 000000yy - return float_value(b.Swizzle>(unpack, Vector{0u, 1u})->Result()); + return float_value(b.Swizzle(unpack, Vector{0u, 1u})->Result()); } case VertexFormat::kUnorm8x4: { // wwzzyyxx auto* word = load_u32(0); // 000000xx, 000000yy, 000000zz, 000000ww - auto* unpack = b.Call>(core::BuiltinFn::kUnpack4X8Unorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack4X8Unorm, word); return float_value(unpack->Result()); } case VertexFormat::kUnorm8x4BGRA: { // wwzzyyxx auto* word = load_u32(0); // 000000xx, 000000yy, 000000zz, 000000ww - auto* unpack = b.Call>(core::BuiltinFn::kUnpack4X8Unorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack4X8Unorm, word); // 000000zz, 000000yy, 000000xx, 000000ww - return float_value(b.Swizzle>(unpack, Vector{2u, 1u, 0u, 3u})->Result()); + return float_value(b.Swizzle(unpack, Vector{2u, 1u, 0u, 3u})->Result()); } case VertexFormat::kUnorm16: { // ****xxxx auto* word = load_u32(0); // 0000xxxx, ******** - auto* unpack = b.Call>(core::BuiltinFn::kUnpack2X16Unorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack2X16Unorm, word); // 0000xxxx return float_value(b.Access(unpack, 0_u)->Result()); } @@ -535,7 +535,7 @@ struct State { // yyyyxxxx auto* word = load_u32(0); // 0000xxxx, 0000yyyy - auto* unpack = b.Call>(core::BuiltinFn::kUnpack2X16Unorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack2X16Unorm, word); return float_value(unpack->Result()); } case VertexFormat::kUnorm16x4: { @@ -543,9 +543,9 @@ struct State { auto* word0 = load_u32(0); auto* word1 = load_u32(1); // 0000xxxx, 0000yyyy, 0000zzzz, 0000wwww - auto* unpack0 = b.Call>(core::BuiltinFn::kUnpack2X16Unorm, word0); - auto* unpack1 = b.Call>(core::BuiltinFn::kUnpack2X16Unorm, word1); - return float_value(b.Construct>(unpack0, unpack1)->Result()); + auto* unpack0 = b.Call(core::BuiltinFn::kUnpack2X16Unorm, word0); + auto* unpack1 = b.Call(core::BuiltinFn::kUnpack2X16Unorm, word1); + return float_value(b.Construct(unpack0, unpack1)->Result()); } // Signed normalized formats. @@ -554,7 +554,7 @@ struct State { // ******xx auto* word = load_u32(0); // 000000xx, ********, ********, ******** - auto* unpack = b.Call>(core::BuiltinFn::kUnpack4X8Snorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack4X8Snorm, word); // 000000xx return float_value(b.Access(unpack, 0_u)->Result()); } @@ -562,22 +562,22 @@ struct State { // ****yyxx auto* word = load_u32(0); // 000000xx, 000000yy, ********, ******** - auto* unpack = b.Call>(core::BuiltinFn::kUnpack4X8Snorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack4X8Snorm, word); // 000000xx, 000000yy - return float_value(b.Swizzle>(unpack, Vector{0u, 1u})->Result()); + return float_value(b.Swizzle(unpack, Vector{0u, 1u})->Result()); } case VertexFormat::kSnorm8x4: { // wwzzyyxx auto* word = load_u32(0); // 000000xx, 000000yy, 000000zz, 000000ww - auto* unpack = b.Call>(core::BuiltinFn::kUnpack4X8Snorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack4X8Snorm, word); return float_value(unpack->Result()); } case VertexFormat::kSnorm16: { // ****xxxx auto* word = load_u32(0); // 0000xxxx, ******** - auto* unpack = b.Call>(core::BuiltinFn::kUnpack2X16Snorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack2X16Snorm, word); // 0000xxxx return float_value(b.Access(unpack, 0_u)->Result()); } @@ -585,7 +585,7 @@ struct State { // yyyyxxxx auto* word = load_u32(0); // 0000xxxx, 0000yyyy - auto* unpack = b.Call>(core::BuiltinFn::kUnpack2X16Snorm, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack2X16Snorm, word); return float_value(unpack->Result()); } case VertexFormat::kSnorm16x4: { @@ -593,9 +593,9 @@ struct State { auto* word0 = load_u32(0); auto* word1 = load_u32(1); // 0000xxxx, 0000yyyy, 0000zzzz, 0000wwww - auto* unpack0 = b.Call>(core::BuiltinFn::kUnpack2X16Snorm, word0); - auto* unpack1 = b.Call>(core::BuiltinFn::kUnpack2X16Snorm, word1); - return float_value(b.Construct>(unpack0, unpack1)->Result()); + auto* unpack0 = b.Call(core::BuiltinFn::kUnpack2X16Snorm, word0); + auto* unpack1 = b.Call(core::BuiltinFn::kUnpack2X16Snorm, word1); + return float_value(b.Construct(unpack0, unpack1)->Result()); } // F16 formats that can either be f16 or f32 in the shader. @@ -605,12 +605,12 @@ struct State { auto* word = load_u32(0); if (shader_element_type->Is()) { // xxxx, **** - auto* bitcast = b.Bitcast>(word); + auto* bitcast = b.Bitcast(word); // xxxx return b.Access(bitcast, 0_u)->Result(); } else { // 0000xxxx, ******** - auto* unpack = b.Call>(core::BuiltinFn::kUnpack2X16Float, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack2X16Float, word); // 0000xxxx return b.Access(unpack, 0_u)->Result(); } @@ -620,10 +620,10 @@ struct State { auto* word = load_u32(0); if (shader_element_type->Is()) { // xxxx, yyyy - return b.Bitcast>(word)->Result(); + return b.Bitcast(word)->Result(); } else { // 0000xxxx, 0000yyyy - auto* unpack = b.Call>(core::BuiltinFn::kUnpack2X16Float, word); + auto* unpack = b.Call(core::BuiltinFn::kUnpack2X16Float, word); return unpack->Result(); } } @@ -633,14 +633,14 @@ struct State { auto* word1 = load_u32(1); if (shader_element_type->Is()) { // xxxx, yyyy, zzzz, wwww - auto* bitcast0 = b.Bitcast>(word0); - auto* bitcast1 = b.Bitcast>(word1); - return b.Construct>(bitcast0, bitcast1)->Result(); + auto* bitcast0 = b.Bitcast(word0); + auto* bitcast1 = b.Bitcast(word1); + return b.Construct(bitcast0, bitcast1)->Result(); } else { // 0000xxxx, 0000yyyy, 0000zzzz, 0000wwww - auto* unpack0 = b.Call>(core::BuiltinFn::kUnpack2X16Float, word0); - auto* unpack1 = b.Call>(core::BuiltinFn::kUnpack2X16Float, word1); - return b.Construct>(unpack0, unpack1)->Result(); + auto* unpack0 = b.Call(core::BuiltinFn::kUnpack2X16Float, word0); + auto* unpack1 = b.Call(core::BuiltinFn::kUnpack2X16Float, word1); + return b.Construct(unpack0, unpack1)->Result(); } } @@ -651,32 +651,32 @@ struct State { case VertexFormat::kFloat32x2: { auto* x = load_f32(0); auto* y = load_f32(1); - return float_value(b.Construct>(x, y)->Result()); + return float_value(b.Construct(x, y)->Result()); } case VertexFormat::kFloat32x3: { auto* x = load_f32(0); auto* y = load_f32(1); auto* z = load_f32(2); - return float_value(b.Construct>(x, y, z)->Result()); + return float_value(b.Construct(x, y, z)->Result()); } case VertexFormat::kFloat32x4: { auto* x = load_f32(0); auto* y = load_f32(1); auto* z = load_f32(2); auto* w = load_f32(3); - return float_value(b.Construct>(x, y, z, w)->Result()); + return float_value(b.Construct(x, y, z, w)->Result()); } // Miscellaneous other formats that need custom handling. case VertexFormat::kUnorm10_10_10_2: { - auto* u32s = b.Construct>(load_u32(0)); + auto* u32s = b.Construct(load_u32(0)); // shr = u32s >> vec4u(0, 10, 20, 30); - auto* shr = b.ShiftRight(u32s, b.Composite>(0_u, 10_u, 20_u, 30_u)); + auto* shr = b.ShiftRight(u32s, b.Composite(0_u, 10_u, 20_u, 30_u)); // mask = shr & vec4u(0x3FF, 0x3FF, 0x3FF, 0x3); - auto* mask = b.And(shr, b.Composite>(0x3FF_u, 0x3FF_u, 0x3FF_u, 0x3_u)); + auto* mask = b.And(shr, b.Composite(0x3FF_u, 0x3FF_u, 0x3FF_u, 0x3_u)); // vec4f(mask) / vec4f(1023, 1023, 1023, 3); - auto* div = b.Composite>(1023_f, 1023_f, 1023_f, 3_f); - return float_value(b.Divide(b.Convert>(mask), div)->Result()); + auto* div = b.Composite(1023_f, 1023_f, 1023_f, 3_f); + return float_value(b.Divide(b.Convert(mask), div)->Result()); } } TINT_IR_UNREACHABLE(ir); @@ -686,8 +686,7 @@ struct State { } // namespace Result VertexPulling(core::ir::Module& ir, const VertexPullingConfig& config) { - TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "core.VertexPulling", kVertexPullingCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kVertexPullingCapabilities, "core.VertexPulling")); State{config, ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/transform/zero_init_workgroup_memory.cc b/3rdparty/dawn/src/tint/lang/core/ir/transform/zero_init_workgroup_memory.cc index 83e3b043d..4ffd6f41d 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/transform/zero_init_workgroup_memory.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/transform/zero_init_workgroup_memory.cc @@ -306,8 +306,8 @@ struct State { } // namespace Result ZeroInitWorkgroupMemory(Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "core.ZeroInitWorkgroupMemory", - kZeroInitWorkgroupMemoryCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kZeroInitWorkgroupMemoryCapabilities, + "core.ZeroInitWorkgroupMemory")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/core/ir/validator.cc b/3rdparty/dawn/src/tint/lang/core/ir/validator.cc index 9b89fc0d3..8712e6c5a 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/validator.cc +++ b/3rdparty/dawn/src/tint/lang/core/ir/validator.cc @@ -96,6 +96,7 @@ #include "src/tint/lang/core/type/sampled_texture.h" #include "src/tint/lang/core/type/storage_texture.h" #include "src/tint/lang/core/type/type.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/core/type/u32.h" #include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/u8.h" @@ -119,6 +120,7 @@ #define TINT_DUMP_IR_WHEN_VALIDATING 0 #if TINT_DUMP_IR_WHEN_VALIDATING #include + #include "src/tint/utils/text/styled_text_printer.h" #endif @@ -133,6 +135,19 @@ struct ValidatedType { namespace { +/// Prints out the current IR state, iff TINT_DUMP_IR_WHEN_VALIDATING is set. +void DumpIRIfEnabled([[maybe_unused]] const Module& ir, + [[maybe_unused]] const char* msg = "", + [[maybe_unused]] std::string_view timing = "") { +#if TINT_DUMP_IR_WHEN_VALIDATING + auto printer = StyledTextPrinter::Create(stdout); + std::cout << "=========================================================\n"; + std::cout << "== IR dump " << timing << " " << msg << ":\n"; + std::cout << "=========================================================\n"; + printer->Print(Disassembler(ir).Text()); +#endif +} + using SupportedStages = tint::EnumSet; /// @returns a human-readable string of all the entries in a EnumSet @@ -243,6 +258,19 @@ void WalkTypeAndMembers(CTX& ctx, [&](const core::type::Array* a) { WalkArrayElements(ctx, a, impl); }); } +/// @returns true if the type or any contained types are atomic +/// @param ty root of the types to walks +bool ContainsAtomic(const core::type::Type* ty) { + bool found = false; + WalkTypeAndMembers(found, ty, IOAttributes{}, + [&](bool& ctx, const core::type::Type* t, const IOAttributes&) { + if (t != nullptr && t->Is()) { + ctx = true; + } + }); + return found; +} + /// The IO direction of an operation. enum class IODirection : uint8_t { kInput, kOutput, kResource }; @@ -654,6 +682,8 @@ const BuiltInChecker& BuiltinCheckerFor(BuiltinValue builtin, const Capabilities case BuiltinValue::kLocalInvocationId: return kLocalInvocationIdChecker; case BuiltinValue::kLocalInvocationIndex: + case BuiltinValue::kGlobalInvocationIndex: + case BuiltinValue::kWorkgroupIndex: return kLocalInvocationIndexChecker; case BuiltinValue::kNumSubgroups: return kNumSubgroupsChecker; @@ -1188,7 +1218,8 @@ class Validator { /// @param ignore_caps a set of capabilities to ignore for this check void CheckType(const core::type::Type* type, std::function diag, - Capabilities ignore_caps = {}); + Capabilities ignore_caps = {}, + Capabilities allow_caps = {}); /// Validates the root block /// @param blk the block @@ -1320,8 +1351,8 @@ class Validator { void CheckInterpolation(const CastableBase* anchor, const core::type::Type* ty, const IOAttributes& attr, - const Function::PipelineStage stage, - const IODirection dir); + Function::PipelineStage stage, + IODirection dir); /// Validates binding_point attributes on entry point IO. /// @param anchor where to attach error messages to. @@ -2106,7 +2137,8 @@ bool Validator::CheckResultsAndOperands(const ir::Instruction* inst, void Validator::CheckType(const core::type::Type* root, std::function diag, - Capabilities ignore_caps) { + Capabilities ignore_caps, + Capabilities allow_caps) { if (root == nullptr) { return; } @@ -2301,7 +2333,8 @@ void Validator::CheckType(const core::type::Type* root, }, [&](const core::type::U64*) { // u64 types are guarded by the Allow64BitIntegers capability. - if (!capabilities_.Contains(Capability::kAllow64BitIntegers)) { + if (!capabilities_.Contains(Capability::kAllow64BitIntegers) && + !allow_caps.Contains(Capability::kAllow64BitIntegers)) { diag() << "64-bit integer types are not permitted"; return false; } @@ -2323,6 +2356,14 @@ void Validator::CheckType(const core::type::Type* root, } return true; }, + [&](const core::type::U16*) { + // u16 types are guarded by the Allow16BitIntegers capability. + if (!capabilities_.Contains(Capability::kAllow16BitIntegers)) { + diag() << "16-bit integer types are not permitted"; + return false; + } + return true; + }, [&](const core::type::Array* arr) { if (!arr->ElemType()->HasCreationFixedFootprint()) { diag() << "array elements, " << NameOf(type) @@ -2357,8 +2398,17 @@ void Validator::CheckType(const core::type::Type* root, return true; }, [&](const core::type::Atomic* a) { - if (!a->Type()->IsAnyOf()) { - diag() << "atomic subtype must be i32 or u32"; + // Prior to lowering we allow for atomic operations on vec2u to support the + // AtomicVec2UMinMax feature. + if (auto* vec = a->Type()->As()) { + if (vec->Width() == 2 && vec->Type()->Is()) { + return true; + } + } + + if (!a->Type()->IsAnyOf()) { + diag() << "atomic subtype must be i32, u32 or u64 type is " + << NameOf(a->Type()); return false; } return true; @@ -2468,15 +2518,21 @@ void Validator::CheckType(const core::type::Type* root, continue; } + // Visit the elements of a composite type. auto type_count = ty->Elements(); - if (type_count.type && seen.Add(type_count.type)) { - stack.Push(type_count.type); - continue; - } - - for (uint32_t i = 0; i < type_count.count; i++) { - if (auto* subtype = ty->Element(i); subtype && seen.Add(subtype)) { - stack.Push(subtype); + if (type_count.type) { + // Every element has the same type (e.g. array, vector, matrix, ...), so validate that + // type once if it has not been seen before. + if (seen.Add(type_count.type)) { + stack.Push(type_count.type); + } + } else { + // Different elements have different types (e.g. a struct), so we need to validate each + // of them if they have not been seen before. + for (uint32_t i = 0; i < type_count.count; i++) { + if (auto* subtype = ty->Element(i); subtype && seen.Add(subtype)) { + stack.Push(subtype); + } } } } @@ -3335,13 +3391,21 @@ void Validator::CheckInstruction(const Instruction* inst) { return; } + Capabilities allowed_types{}; + if (inst->Is()) { + allowed_types.Add(Capability::kAllow64BitIntegers); + } + auto results = inst->Results(); for (size_t i = 0; i < results.Length(); ++i) { auto* res = results[i]; if (!res) { continue; } - CheckType(res->Type(), [&]() -> diag::Diagnostic& { return AddResultError(inst, i); }); + + CheckType( + res->Type(), [&]() -> diag::Diagnostic& { return AddResultError(inst, i); }, {}, + allowed_types); } auto ops = inst->Operands(); @@ -3351,7 +3415,9 @@ void Validator::CheckInstruction(const Instruction* inst) { continue; } - CheckType(op->Type(), [&]() -> diag::Diagnostic& { return AddError(inst, i); }); + CheckType( + op->Type(), [&]() -> diag::Diagnostic& { return AddError(inst, i); }, {}, + allowed_types); } tint::Switch( @@ -3436,6 +3502,21 @@ void Validator::CheckVar(const Var* var) { } } + if (ContainsAtomic(mv->StoreType())) { + if (mv->AddressSpace() == AddressSpace::kStorage) { + if (mv->Access() != core::Access::kReadWrite) { + AddError(var) + << "atomic variables in 'storage' address space must have 'read_write' " + "access mode"; + return; + } + } else if (mv->AddressSpace() != AddressSpace::kWorkgroup) { + AddError(var) + << "atomic variables must be in the 'workgroup' or 'storage' address space"; + return; + } + } + // Check that initializer and result type match if (var->Initializer()) { if (mv->AddressSpace() != AddressSpace::kFunction && @@ -3995,16 +4076,17 @@ void Validator::CheckBitcastTypes(const Bitcast* bitcast) { return; } - // S -> vec2 + // S -> vec2 if (auto* vec_type = result_type->As()) { auto elements = vec_type->Elements(); - if (elements.count == 2 && Is(elements.type)) { + if (elements.count == 2 && IsAnyOf(elements.type)) { return; } } - } else if (val_type->Is()) { - // f16 -> f16, identity - if (result_type->Is()) { + } else if (val_type->IsAnyOf()) { + // S, where S is f16 or u16 + // S -> S, identity and reinterpretation + if (result_type->IsAnyOf()) { return; } } else if (val_type->Is()) { @@ -4025,6 +4107,12 @@ void Validator::CheckBitcastTypes(const Bitcast* bitcast) { } } + // atomic vec2u support vec2u to u64 bitcast required + if (val_elements.count == 2 && val_elements.type->Is() && + result_type->Is()) { + return; // assume backend supported + } + if (val_elements.type->IsAnyOf()) { // vecN, where S is i32, u32, or f32 // vecN -> vecN, identity and reinterpretation cases @@ -4034,22 +4122,22 @@ void Validator::CheckBitcastTypes(const Bitcast* bitcast) { return; } - // vec2 -> vec4 + // vec2 -> vec4 if (val_elements.count == 2) { if (result_elements.has_value() && result_elements->count == 4 && - result_elements->type->Is()) { + result_elements->type->IsAnyOf()) { return; } } - } else if (val_elements.type->Is()) { + } else if (val_elements.type->IsAnyOf()) { if (result_elements.has_value()) { - if (result_elements->type->Is()) { - // vecN -> vecN, identity + if (result_elements->type->IsAnyOf()) { + // vecN -> vecN, identity if (val_elements.count == result_elements->count) { return; } } else { - // vec4 -> vec2, where S is i32, u32, or f32 + // vec4 -> vec2, where S is i32, u32, or f32 if (val_elements.count == 4 && result_elements->count == 2 && result_elements->type ->IsAnyOf()) { @@ -4057,7 +4145,7 @@ void Validator::CheckBitcastTypes(const Bitcast* bitcast) { } } } else { - // vec2 -> i32, u32, or f32 + // vec2 -> i32, u32, or f32 if (val_elements.count == 2 && result_type->IsAnyOf()) { return; @@ -4103,6 +4191,17 @@ void Validator::CheckBuiltinCall(const BuiltinCall* call) { return; } + // Check evaluation stage of parameters that are required to be const-expressions. + for (uint32_t i = 0; i < builtin->parameters.Length(); i++) { + const auto& p = builtin->parameters[i]; + const auto* arg = call->Args()[i]; + if (p.is_const && !arg->Is()) { + AddError(call, BuiltinCall::kArgsOperandOffset + i) + << "the " << style::Variable(p.usage) << " argument must be a constant"; + return; + } + } + if (auto* bc = call->As()) { CheckCoreBuiltinCall(bc, builtin.Get()); } @@ -4124,17 +4223,6 @@ void Validator::CheckBuiltinCall(const BuiltinCall* call) { void Validator::CheckCoreBuiltinCall(const CoreBuiltinCall* call, const core::intrinsic::Overload& overload) { - if (call->Func() == core::BuiltinFn::kQuadBroadcast || - call->Func() == core::BuiltinFn::kSubgroupBroadcast) { - TINT_ASSERT(call->Args().Length() == 2); - constexpr uint32_t kIdArg = 1; - auto* id = call->Args()[kIdArg]; - if (!id->Is()) { - AddError(call, kIdArg) << "non-constant ID provided"; - } - return; - } - auto idx_for_usage = [&](core::ParameterUsage usage) -> std::optional { for (uint32_t i = 0; i < overload.parameters.Length(); ++i) { auto& p = overload.parameters[i]; @@ -4154,20 +4242,13 @@ void Validator::CheckCoreBuiltinCall(const CoreBuiltinCall* call, TINT_ASSERT(idx < call->Args().Length()); auto* val = call->Args()[idx]; - if (auto* const_val = val->As()) { - auto* cnst = const_val->Value(); + auto* const_val = val->As(); + TINT_ASSERT(const_val); + auto* cnst = const_val->Value(); - if (val->Type()->Is()) { - for (size_t i = 0; i < cnst->NumElements(); i++) { - auto value = cnst->Index(i)->ValueAs(); - if (value < min || value > max) { - AddError(call, idx) - << value << " outside range of [" << min << ", " << max << "]"; - return; - } - } - } else { - auto value = cnst->ValueAs(); + if (val->Type()->Is()) { + for (size_t i = 0; i < cnst->NumElements(); i++) { + auto value = cnst->Index(i)->ValueAs(); if (value < min || value > max) { AddError(call, idx) << value << " outside range of [" << min << ", " << max << "]"; @@ -4175,13 +4256,18 @@ void Validator::CheckCoreBuiltinCall(const CoreBuiltinCall* call, } } } else { - AddError(call, idx) << "expected a constant value"; - return; + auto value = cnst->ValueAs(); + if (value < min || value > max) { + AddError(call, idx) << value << " outside range of [" << min << ", " << max << "]"; + return; + } } }; - check_arg_in_range(core::ParameterUsage::kComponent, 0, 3); - check_arg_in_range(core::ParameterUsage::kOffset, -8, 7); + if (core::IsTexture(call->Func())) { + check_arg_in_range(core::ParameterUsage::kComponent, 0, 3); + check_arg_in_range(core::ParameterUsage::kOffset, -8, 7); + } } void Validator::CheckMemberBuiltinCall(const MemberBuiltinCall* call) { @@ -5245,31 +5331,48 @@ const core::type::Type* Validator::GetVectorPtrElementType(const Instruction* in } // namespace -Result Validate(const Module& mod, Capabilities capabilities) { +Result Validate(const Module& mod, + Capabilities capabilities, + [[maybe_unused]] const char* msg, + [[maybe_unused]] std::string_view timing) { + DumpIRIfEnabled(mod, msg, timing); Validator v(mod, capabilities); TINT_CHECK_RESULT(v.Run()); return Success; } -Result ValidateAndDumpIfNeeded([[maybe_unused]] const Module& ir, - [[maybe_unused]] const char* msg, - [[maybe_unused]] Capabilities capabilities, - [[maybe_unused]] std::string_view timing) { -#if TINT_DUMP_IR_WHEN_VALIDATING - auto printer = StyledTextPrinter::Create(stdout); - std::cout << "=========================================================\n"; - std::cout << "== IR dump " << timing << " " << msg << ":\n"; - std::cout << "=========================================================\n"; - printer->Print(Disassembler(ir).Text()); -#endif +Result ValidateBefore(const Module& mod, Capabilities capabilities, const char* msg) { + return Validate(mod, capabilities, msg, "before"); +} +Result ValidateAfter(const Module& mod, Capabilities capabilities, const char* msg) { + return Validate(mod, capabilities, msg, "after"); +} + +Result ValidateIfNeeded([[maybe_unused]] const Module& mod, + [[maybe_unused]] Capabilities capabilities, + [[maybe_unused]] const char* msg, + [[maybe_unused]] std::string_view timing) { + DumpIRIfEnabled(mod, msg, timing); #if TINT_ENABLE_IR_VALIDATION - TINT_CHECK_RESULT(Validate(ir, capabilities)); + Validator v(mod, capabilities); + TINT_CHECK_RESULT(v.Run()); #endif - return Success; } +Result ValidateBeforeIfNeeded(const Module& mod, + Capabilities capabilities, + const char* msg) { + return ValidateIfNeeded(mod, capabilities, msg, "before"); +} + +Result ValidateAfterIfNeeded(const Module& mod, + Capabilities capabilities, + const char* msg) { + return ValidateIfNeeded(mod, capabilities, msg, "after"); +} + } // namespace tint::core::ir namespace std { diff --git a/3rdparty/dawn/src/tint/lang/core/ir/validator.h b/3rdparty/dawn/src/tint/lang/core/ir/validator.h index dda544275..c9ea30bea 100644 --- a/3rdparty/dawn/src/tint/lang/core/ir/validator.h +++ b/3rdparty/dawn/src/tint/lang/core/ir/validator.h @@ -29,13 +29,13 @@ #define SRC_TINT_LANG_CORE_IR_VALIDATOR_H_ #include + #include "src/tint/utils/containers/enum_set.h" #include "src/tint/utils/result.h" // Forward declarations namespace tint::core::ir { class Module; -class Function; } // namespace tint::core::ir namespace tint::core::ir { @@ -44,6 +44,8 @@ namespace tint::core::ir { enum class Capability : uint8_t { /// Allows 8-bit integer types. kAllow8BitIntegers, + /// Allows 16-bit integer types. + kAllow16BitIntegers, /// Allows 64-bit integer types. kAllow64BitIntegers, /// Allows ClipDistances on f32 and vecN parameters @@ -97,22 +99,65 @@ enum class Capability : uint8_t { /// Capabilities is a set of Capability using Capabilities = EnumSet; -/// Validates that a given IR module is correctly formed +/// Validates the module @p ir is correctly formed /// @param mod the module to validate /// @param capabilities the optional capabilities that are allowed -/// @returns success or failure -Result Validate(const Module& mod, Capabilities capabilities = {}); - -/// Validates the module @p ir and dumps its contents if required by the build configuration. -/// @param ir the module to transform /// @param msg the msg to accompany the output -/// @param capabilities the optional capabilities that are allowed /// @param timing when the validation is run. /// @returns success or failure -Result ValidateAndDumpIfNeeded(const Module& ir, - const char* msg, - Capabilities capabilities = {}, - std::string_view timing = "before"); +Result Validate(const Module& mod, + Capabilities capabilities = {}, + const char* msg = "", + std::string_view timing = ""); + +/// Validates the module @p ir is correctly formed before an operation +/// @param mod the module to validate +/// @param capabilities the optional capabilities that are allowed +/// @param msg the msg to accompany the output to indicate the operation +/// @returns success or failure +Result ValidateBefore(const Module& mod, + Capabilities capabilities = {}, + const char* msg = ""); + +/// Validates the module @p ir is correctly formed after an operation +/// @param mod the module to validate +/// @param capabilities the optional capabilities that are allowed +/// @param msg the msg to accompany the output to indicate the step +/// @returns success or failure +Result ValidateAfter(const Module& mod, + Capabilities capabilities = {}, + const char* msg = ""); + +/// Validates the module @p ir is correctly formed, iff required by the build configuration. +/// @param mod the module to transform +/// @param capabilities the optional capabilities that are allowed +/// @param msg the msg to accompany the output +/// @param timing when the validation is run. +/// @returns success or failure +Result ValidateIfNeeded(const Module& mod, + Capabilities capabilities = {}, + const char* msg = "", + std::string_view timing = ""); + +/// Validates the module @p ir is correctly formed before an operation, iff required by the build +/// configuration. +/// @param mod the module to validate +/// @param capabilities the optional capabilities that are allowed +/// @param msg the msg to accompany the output to indicate the operation +/// @returns success or failure +Result ValidateBeforeIfNeeded(const Module& mod, + Capabilities capabilities = {}, + const char* msg = ""); + +/// Validates the module @p ir is correctly formed after an operation, iff required by the build +/// configuration. +/// @param mod the module to validate +/// @param capabilities the optional capabilities that are allowed +/// @param msg the msg to accompany the output to indicate the operation +/// @returns success or failure +Result ValidateAfterIfNeeded(const Module& mod, + Capabilities capabilities = {}, + const char* msg = ""); } // namespace tint::core::ir diff --git a/3rdparty/dawn/src/tint/lang/core/number.h b/3rdparty/dawn/src/tint/lang/core/number.h index 61178fa44..aa8d743f7 100644 --- a/3rdparty/dawn/src/tint/lang/core/number.h +++ b/3rdparty/dawn/src/tint/lang/core/number.h @@ -29,6 +29,7 @@ #define SRC_TINT_LANG_CORE_NUMBER_H_ #include + #include #include #include @@ -291,6 +292,8 @@ using i8 = Number; using i32 = Number; /// `u8` is a type alias to `Number`. using u8 = Number; +/// `u16` is a type alias to `Number`. +using u16 = Number; /// `u32` is a type alias to `Number`. using u32 = Number; /// `u64` is a type alias to `Number`. @@ -322,6 +325,8 @@ const char* FriendlyName() { return "abstract-float"; } else if constexpr (std::is_same_v) { return "i32"; + } else if constexpr (std::is_same_v) { + return "u16"; } else if constexpr (std::is_same_v) { return "u32"; } else if constexpr (std::is_same_v) { diff --git a/3rdparty/dawn/src/tint/lang/core/type/array.h b/3rdparty/dawn/src/tint/lang/core/type/array.h index 8d5832a80..1f6d9eda0 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/array.h +++ b/3rdparty/dawn/src/tint/lang/core/type/array.h @@ -29,6 +29,7 @@ #define SRC_TINT_LANG_CORE_TYPE_ARRAY_H_ #include + #include #include #include diff --git a/3rdparty/dawn/src/tint/lang/core/type/array_count.h b/3rdparty/dawn/src/tint/lang/core/type/array_count.h index 74c9eb408..8a8d4ee4a 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/array_count.h +++ b/3rdparty/dawn/src/tint/lang/core/type/array_count.h @@ -83,7 +83,7 @@ class ConstantArrayCount final : public Castable uint32_t value; }; -/// The variant of an ArrayCount when the array is is runtime-sized. +/// The variant of an ArrayCount when the array is runtime-sized. /// Example: /// ``` /// type arr = array diff --git a/3rdparty/dawn/src/tint/lang/core/type/binding_array.h b/3rdparty/dawn/src/tint/lang/core/type/binding_array.h index 93c6df4bd..b7112f296 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/binding_array.h +++ b/3rdparty/dawn/src/tint/lang/core/type/binding_array.h @@ -29,6 +29,7 @@ #define SRC_TINT_LANG_CORE_TYPE_BINDING_ARRAY_H_ #include + #include #include diff --git a/3rdparty/dawn/src/tint/lang/core/type/manager.cc b/3rdparty/dawn/src/tint/lang/core/type/manager.cc index 0ed9c72e2..9b6b6f3d9 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/manager.cc +++ b/3rdparty/dawn/src/tint/lang/core/type/manager.cc @@ -46,6 +46,7 @@ #include "src/tint/lang/core/type/sampled_texture.h" #include "src/tint/lang/core/type/storage_texture.h" #include "src/tint/lang/core/type/type.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/core/type/u32.h" #include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/u8.h" @@ -149,6 +150,10 @@ const core::type::U8* Manager::u8() { return Get(); } +const core::type::U16* Manager::u16() { + return Get(); +} + const core::type::U32* Manager::u32() { return Get(); } @@ -257,6 +262,12 @@ const core::type::SampledTexture* Manager::sampled_texture(TextureDimension dim, return Get(dim, type); } +const core::type::SampledTexture* Manager::sampled_texture(TextureDimension dim, + const core::type::Type* type, + TextureFilterable filterable) { + return Get(dim, type, filterable); +} + const core::type::MultisampledTexture* Manager::multisampled_texture(TextureDimension dim, const core::type::Type* type) { return Get(dim, type); diff --git a/3rdparty/dawn/src/tint/lang/core/type/manager.h b/3rdparty/dawn/src/tint/lang/core/type/manager.h index cd6cd82c2..f4023d8d0 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/manager.h +++ b/3rdparty/dawn/src/tint/lang/core/type/manager.h @@ -69,6 +69,7 @@ class Reference; class SampledTexture; class StorageTexture; class U8; +class U16; class U32; class U64; class Vector; @@ -156,6 +157,8 @@ class Manager final { return Get(std::forward(args)...); } else if constexpr (std::is_same_v) { return Get(std::forward(args)...); + } else if constexpr (std::is_same_v) { + return Get(std::forward(args)...); } else if constexpr (std::is_same_v) { return Get(std::forward(args)...); } else if constexpr (std::is_same_v) { @@ -221,6 +224,9 @@ class Manager final { /// @returns a u8 type const core::type::U8* u8(); + /// @returns a u16 type + const core::type::U16* u16(); + /// @returns a u32 type const core::type::U32* u32(); @@ -314,6 +320,14 @@ class Manager final { const core::type::SampledTexture* sampled_texture(TextureDimension dim, const core::type::Type* type); + /// @param dim the dimensionality of the texture + /// @param type the data type of the sampled texture + /// @param filterable the filterablity + /// @returns a sampled texture type with the provided params + const core::type::SampledTexture* sampled_texture(TextureDimension dim, + const core::type::Type* type, + TextureFilterable filterable); + /// @param dim the dimensionality of the texture /// @param type the data type of the sampled texture /// @returns a multisampled texture type with the provided params @@ -664,6 +678,12 @@ class Manager final { return Get(core::type::SamplerKind::kSampler); } + /// @param filtering the sampler filtering parameter + /// @returns the sampler type + const core::type::Sampler* sampler(SamplerFiltering filtering) { + return Get(core::type::SamplerKind::kSampler, filtering); + } + /// @returns the comparison sampler type const core::type::Sampler* comparison_sampler() { return Get(core::type::SamplerKind::kComparisonSampler); diff --git a/3rdparty/dawn/src/tint/lang/spirv/type/resource_table.cc b/3rdparty/dawn/src/tint/lang/core/type/resource_table.cc similarity index 91% rename from 3rdparty/dawn/src/tint/lang/spirv/type/resource_table.cc rename to 3rdparty/dawn/src/tint/lang/core/type/resource_table.cc index 070cace9c..6fe76bf1a 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/type/resource_table.cc +++ b/3rdparty/dawn/src/tint/lang/core/type/resource_table.cc @@ -25,15 +25,15 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include "src/tint/lang/spirv/type/resource_table.h" +#include "src/tint/lang/core/type/resource_table.h" #include #include "src/tint/lang/core/type/manager.h" -TINT_INSTANTIATE_TYPEINFO(tint::spirv::type::ResourceTable); +TINT_INSTANTIATE_TYPEINFO(tint::core::type::ResourceTable); -namespace tint::spirv::type { +namespace tint::core::type { ResourceTable::ResourceTable(const core::type::Type* binding_type) : Base(static_cast(Hash(tint::TypeCode::Of().bits, binding_type)), @@ -49,7 +49,7 @@ bool ResourceTable::Equals(const UniqueNode& other) const { std::string ResourceTable::FriendlyName() const { std::stringstream str; - str << "spirv.resource_table<" << binding_type_->FriendlyName() << ">"; + str << "resource_table<" << binding_type_->FriendlyName() << ">"; return str.str(); } @@ -68,4 +68,4 @@ ResourceTable* ResourceTable::Clone(core::type::CloneContext& ctx) const { return ctx.dst.mgr->Get(binding_type); } -} // namespace tint::spirv::type +} // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/spirv/type/resource_table.h b/3rdparty/dawn/src/tint/lang/core/type/resource_table.h similarity index 92% rename from 3rdparty/dawn/src/tint/lang/spirv/type/resource_table.h rename to 3rdparty/dawn/src/tint/lang/core/type/resource_table.h index d13ad7360..09162f767 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/type/resource_table.h +++ b/3rdparty/dawn/src/tint/lang/core/type/resource_table.h @@ -25,15 +25,15 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#ifndef SRC_TINT_LANG_SPIRV_TYPE_RESOURCE_TABLE_H_ -#define SRC_TINT_LANG_SPIRV_TYPE_RESOURCE_TABLE_H_ +#ifndef SRC_TINT_LANG_CORE_TYPE_RESOURCE_TABLE_H_ +#define SRC_TINT_LANG_CORE_TYPE_RESOURCE_TABLE_H_ #include #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/type.h" -namespace tint::spirv::type { +namespace tint::core::type { /// ResourceTable represents an OpTypeRuntimeArray of resources class ResourceTable final : public Castable { @@ -68,6 +68,6 @@ class ResourceTable final : public Castable { const core::type::Type* binding_type_; }; -} // namespace tint::spirv::type +} // namespace tint::core::type -#endif // SRC_TINT_LANG_SPIRV_TYPE_RESOURCE_TABLE_H_ +#endif // SRC_TINT_LANG_CORE_TYPE_RESOURCE_TABLE_H_ diff --git a/3rdparty/dawn/src/tint/lang/core/type/resource_type.cc b/3rdparty/dawn/src/tint/lang/core/type/resource_type.cc index 8154e7dc4..cf55ba72f 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/resource_type.cc +++ b/3rdparty/dawn/src/tint/lang/core/type/resource_type.cc @@ -41,38 +41,62 @@ namespace tint::core::type { const core::type::Type* ResourceTypeToType(core::type::Manager& ty, ResourceType type) { switch (type) { - case ResourceType::kTexture1d_f32: - return ty.sampled_texture(core::type::TextureDimension::k1d, ty.f32()); + case ResourceType::kTexture1d_f32_filterable: + return ty.sampled_texture(core::type::TextureDimension::k1d, ty.f32(), + core::TextureFilterable::kFilterable); + case ResourceType::kTexture1d_f32_unfilterable: + return ty.sampled_texture(core::type::TextureDimension::k1d, ty.f32(), + core::TextureFilterable::kUnfilterable); case ResourceType::kTexture1d_i32: return ty.sampled_texture(core::type::TextureDimension::k1d, ty.i32()); case ResourceType::kTexture1d_u32: return ty.sampled_texture(core::type::TextureDimension::k1d, ty.u32()); - case ResourceType::kTexture2d_f32: - return ty.sampled_texture(core::type::TextureDimension::k2d, ty.f32()); + case ResourceType::kTexture2d_f32_filterable: + return ty.sampled_texture(core::type::TextureDimension::k2d, ty.f32(), + core::TextureFilterable::kFilterable); + case ResourceType::kTexture2d_f32_unfilterable: + return ty.sampled_texture(core::type::TextureDimension::k2d, ty.f32(), + core::TextureFilterable::kUnfilterable); case ResourceType::kTexture2d_i32: return ty.sampled_texture(core::type::TextureDimension::k2d, ty.i32()); case ResourceType::kTexture2d_u32: return ty.sampled_texture(core::type::TextureDimension::k2d, ty.u32()); - case ResourceType::kTexture2dArray_f32: - return ty.sampled_texture(core::type::TextureDimension::k2dArray, ty.f32()); + case ResourceType::kTexture2dArray_f32_filterable: + return ty.sampled_texture(core::type::TextureDimension::k2dArray, ty.f32(), + core::TextureFilterable::kFilterable); + case ResourceType::kTexture2dArray_f32_unfilterable: + return ty.sampled_texture(core::type::TextureDimension::k2dArray, ty.f32(), + core::TextureFilterable::kUnfilterable); case ResourceType::kTexture2dArray_i32: return ty.sampled_texture(core::type::TextureDimension::k2dArray, ty.i32()); case ResourceType::kTexture2dArray_u32: return ty.sampled_texture(core::type::TextureDimension::k2dArray, ty.u32()); - case ResourceType::kTexture3d_f32: - return ty.sampled_texture(core::type::TextureDimension::k3d, ty.f32()); + case ResourceType::kTexture3d_f32_filterable: + return ty.sampled_texture(core::type::TextureDimension::k3d, ty.f32(), + core::TextureFilterable::kFilterable); + case ResourceType::kTexture3d_f32_unfilterable: + return ty.sampled_texture(core::type::TextureDimension::k3d, ty.f32(), + core::TextureFilterable::kUnfilterable); case ResourceType::kTexture3d_i32: return ty.sampled_texture(core::type::TextureDimension::k3d, ty.i32()); case ResourceType::kTexture3d_u32: return ty.sampled_texture(core::type::TextureDimension::k3d, ty.u32()); - case ResourceType::kTextureCube_f32: - return ty.sampled_texture(core::type::TextureDimension::kCube, ty.f32()); + case ResourceType::kTextureCube_f32_filterable: + return ty.sampled_texture(core::type::TextureDimension::kCube, ty.f32(), + core::TextureFilterable::kFilterable); + case ResourceType::kTextureCube_f32_unfilterable: + return ty.sampled_texture(core::type::TextureDimension::kCube, ty.f32(), + core::TextureFilterable::kUnfilterable); case ResourceType::kTextureCube_i32: return ty.sampled_texture(core::type::TextureDimension::kCube, ty.i32()); case ResourceType::kTextureCube_u32: return ty.sampled_texture(core::type::TextureDimension::kCube, ty.u32()); - case ResourceType::kTextureCubeArray_f32: - return ty.sampled_texture(core::type::TextureDimension::kCubeArray, ty.f32()); + case ResourceType::kTextureCubeArray_f32_filterable: + return ty.sampled_texture(core::type::TextureDimension::kCubeArray, ty.f32(), + core::TextureFilterable::kFilterable); + case ResourceType::kTextureCubeArray_f32_unfilterable: + return ty.sampled_texture(core::type::TextureDimension::kCubeArray, ty.f32(), + core::TextureFilterable::kUnfilterable); case ResourceType::kTextureCubeArray_i32: return ty.sampled_texture(core::type::TextureDimension::kCubeArray, ty.i32()); case ResourceType::kTextureCubeArray_u32: @@ -96,6 +120,12 @@ const core::type::Type* ResourceTypeToType(core::type::Manager& ty, ResourceType case ResourceType::kTextureDepthMultisampled2d: return ty.depth_multisampled_texture(core::type::TextureDimension::k2d); + case ResourceType::kSampler_filtering: + return ty.sampler(core::SamplerFiltering::kFiltering); + case ResourceType::kSampler_non_filtering: + return ty.sampler(core::SamplerFiltering::kNonFiltering); + case ResourceType::kSampler_comparison: + return ty.comparison_sampler(); default: TINT_UNREACHABLE(); } @@ -109,42 +139,96 @@ ResourceType TypeToResourceType(const core::type::Type* in_type) { case core::type::TextureDimension::k1d: return tint::Switch( sa->Type(), - [&](const core::type::F32*) { return ResourceType::kTexture1d_f32; }, + [&](const core::type::F32*) { + switch (sa->Filterable()) { + case core::TextureFilterable::kFilterable: + return ResourceType::kTexture1d_f32_filterable; + case core::TextureFilterable::kUnfilterable: + return ResourceType::kTexture1d_f32_unfilterable; + case core::TextureFilterable::kUndefined: + TINT_UNREACHABLE(); + } + }, [&](const core::type::I32*) { return ResourceType::kTexture1d_i32; }, [&](const core::type::U32*) { return ResourceType::kTexture1d_u32; }, TINT_ICE_ON_NO_MATCH); case core::type::TextureDimension::k2d: return tint::Switch( sa->Type(), - [&](const core::type::F32*) { return ResourceType::kTexture2d_f32; }, + [&](const core::type::F32*) { + switch (sa->Filterable()) { + case core::TextureFilterable::kFilterable: + return ResourceType::kTexture2d_f32_filterable; + case core::TextureFilterable::kUnfilterable: + return ResourceType::kTexture2d_f32_unfilterable; + case core::TextureFilterable::kUndefined: + TINT_UNREACHABLE(); + } + }, [&](const core::type::I32*) { return ResourceType::kTexture2d_i32; }, [&](const core::type::U32*) { return ResourceType::kTexture2d_u32; }, TINT_ICE_ON_NO_MATCH); case core::type::TextureDimension::k2dArray: return tint::Switch( sa->Type(), - [&](const core::type::F32*) { return ResourceType::kTexture2dArray_f32; }, + [&](const core::type::F32*) { + switch (sa->Filterable()) { + case core::TextureFilterable::kFilterable: + return ResourceType::kTexture2dArray_f32_filterable; + case core::TextureFilterable::kUnfilterable: + return ResourceType::kTexture2dArray_f32_unfilterable; + case core::TextureFilterable::kUndefined: + TINT_UNREACHABLE(); + } + }, [&](const core::type::I32*) { return ResourceType::kTexture2dArray_i32; }, [&](const core::type::U32*) { return ResourceType::kTexture2dArray_u32; }, TINT_ICE_ON_NO_MATCH); case core::type::TextureDimension::k3d: return tint::Switch( sa->Type(), - [&](const core::type::F32*) { return ResourceType::kTexture3d_f32; }, + [&](const core::type::F32*) { + switch (sa->Filterable()) { + case core::TextureFilterable::kFilterable: + return ResourceType::kTexture3d_f32_filterable; + case core::TextureFilterable::kUnfilterable: + return ResourceType::kTexture3d_f32_unfilterable; + case core::TextureFilterable::kUndefined: + TINT_UNREACHABLE(); + } + }, [&](const core::type::I32*) { return ResourceType::kTexture3d_i32; }, [&](const core::type::U32*) { return ResourceType::kTexture3d_u32; }, TINT_ICE_ON_NO_MATCH); case core::type::TextureDimension::kCube: return tint::Switch( sa->Type(), - [&](const core::type::F32*) { return ResourceType::kTextureCube_f32; }, + [&](const core::type::F32*) { + switch (sa->Filterable()) { + case core::TextureFilterable::kFilterable: + return ResourceType::kTextureCube_f32_filterable; + case core::TextureFilterable::kUnfilterable: + return ResourceType::kTextureCube_f32_unfilterable; + case core::TextureFilterable::kUndefined: + TINT_UNREACHABLE(); + } + }, [&](const core::type::I32*) { return ResourceType::kTextureCube_i32; }, [&](const core::type::U32*) { return ResourceType::kTextureCube_u32; }, TINT_ICE_ON_NO_MATCH); case core::type::TextureDimension::kCubeArray: return tint::Switch( sa->Type(), - [&](const core::type::F32*) { return ResourceType::kTextureCubeArray_f32; }, + [&](const core::type::F32*) { + switch (sa->Filterable()) { + case core::TextureFilterable::kFilterable: + return ResourceType::kTextureCubeArray_f32_filterable; + case core::TextureFilterable::kUnfilterable: + return ResourceType::kTextureCubeArray_f32_unfilterable; + case core::TextureFilterable::kUndefined: + TINT_UNREACHABLE(); + } + }, [&](const core::type::I32*) { return ResourceType::kTextureCubeArray_i32; }, [&](const core::type::U32*) { return ResourceType::kTextureCubeArray_u32; }, TINT_ICE_ON_NO_MATCH); @@ -177,7 +261,56 @@ ResourceType TypeToResourceType(const core::type::Type* in_type) { TINT_UNREACHABLE(); } }, + [&](const core::type::Sampler* s) { + if (s->IsComparison()) { + return ResourceType::kSampler_comparison; + } + + TINT_ASSERT(s->Filtering() != core::SamplerFiltering::kUndefined); + if (s->Filtering() == core::SamplerFiltering::kFiltering) { + return ResourceType::kSampler_filtering; + } + return ResourceType::kSampler_non_filtering; + }, TINT_ICE_ON_NO_MATCH); } +std::vector ConvertsFrom(const core::type::Type* in_type) { + return tint::Switch( + in_type, + [&](const core::type::SampledTexture* sa) -> std::vector { + if (sa->Filterable() != core::TextureFilterable::kUnfilterable) { + return {}; + } + TINT_ASSERT((sa->Type()->Is())); + + switch (sa->Dim()) { + case core::type::TextureDimension::k1d: + return {ResourceType::kTexture1d_f32_filterable}; + case core::type::TextureDimension::k2d: + return {ResourceType::kTexture2d_f32_filterable, ResourceType::kTextureDepth2d}; + case core::type::TextureDimension::k2dArray: + return {ResourceType::kTexture2dArray_f32_filterable, + ResourceType::kTextureDepth2dArray}; + case core::type::TextureDimension::k3d: + return {ResourceType::kTexture3d_f32_filterable}; + case core::type::TextureDimension::kCube: + return {ResourceType::kTextureCube_f32_filterable, + ResourceType::kTextureDepthCube}; + case core::type::TextureDimension::kCubeArray: + return {ResourceType::kTextureCubeArray_f32_unfilterable, + ResourceType::kTextureDepthCubeArray}; + case core::type::TextureDimension::kNone: + TINT_UNREACHABLE(); + } + }, + [&](const core::type::Sampler* s) -> std::vector { + if (s->Filtering() == core::SamplerFiltering::kNonFiltering) { + return {ResourceType::kSampler_filtering}; + } + return {}; + }, + [](Default) -> std::vector { return {}; }); +} + } // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/resource_type.h b/3rdparty/dawn/src/tint/lang/core/type/resource_type.h index 369a75655..722e5860b 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/resource_type.h +++ b/3rdparty/dawn/src/tint/lang/core/type/resource_type.h @@ -28,6 +28,8 @@ #ifndef SRC_TINT_LANG_CORE_TYPE_RESOURCE_TYPE_H_ #define SRC_TINT_LANG_CORE_TYPE_RESOURCE_TYPE_H_ +#include + #include "src/tint/api/common/resource_type.h" #include "src/tint/lang/core/type/type.h" @@ -39,6 +41,9 @@ ResourceType TypeToResourceType(const core::type::Type* in_type); // Converts a `ResourceType` back into a `core::type::Type` const core::type::Type* ResourceTypeToType(core::type::Manager& ty, ResourceType type); +// For `in_type`, if it can be convert to from another type, returns the type it converts from. +std::vector ConvertsFrom(const core::type::Type* in_type); + } // namespace tint::core::type #endif // SRC_TINT_LANG_CORE_TYPE_RESOURCE_TYPE_H_ diff --git a/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.cc b/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.cc index efea9adde..00ad51263 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.cc +++ b/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.cc @@ -27,9 +27,9 @@ #include "src/tint/lang/core/type/sampled_texture.h" +#include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/manager.h" #include "src/tint/lang/core/type/texture_dimension.h" -#include "src/tint/utils/diagnostic/diagnostic.h" #include "src/tint/utils/ice/ice.h" #include "src/tint/utils/math/hash.h" #include "src/tint/utils/text/string_stream.h" @@ -38,8 +38,12 @@ TINT_INSTANTIATE_TYPEINFO(tint::core::type::SampledTexture); namespace tint::core::type { -SampledTexture::SampledTexture(TextureDimension dim, const type::Type* type) - : Base(Hash(TypeCode::Of().bits, dim, type), dim), type_(type) { +SampledTexture::SampledTexture(TextureDimension dim, + const type::Type* type, + TextureFilterable filterable) + : Base(Hash(TypeCode::Of().bits, dim, type, filterable), dim), + type_(type), + filterable_(filterable) { TINT_ASSERT(type_); } @@ -47,20 +51,24 @@ SampledTexture::~SampledTexture() = default; bool SampledTexture::Equals(const UniqueNode& other) const { if (auto* o = other.As()) { - return o->Dim() == Dim() && o->type_ == type_; + return o->Dim() == Dim() && o->type_ == type_ && o->filterable_ == filterable_; } return false; } std::string SampledTexture::FriendlyName() const { StringStream out; - out << "texture_" << Dim() << "<" << type_->FriendlyName() << ">"; + out << "texture_" << Dim() << "<" << type_->FriendlyName(); + if (filterable_ != TextureFilterable::kUndefined) { + out << ", " << filterable_; + } + out << ">"; return out.str(); } SampledTexture* SampledTexture::Clone(CloneContext& ctx) const { auto* ty = type_->Clone(ctx); - return ctx.dst.mgr->Get(Dim(), ty); + return ctx.dst.mgr->Get(Dim(), ty, filterable_); } } // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.h b/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.h index 27d55863e..204e9ff3f 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.h +++ b/3rdparty/dawn/src/tint/lang/core/type/sampled_texture.h @@ -30,6 +30,7 @@ #include +#include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/texture.h" #include "src/tint/lang/core/type/texture_dimension.h" @@ -41,7 +42,10 @@ class SampledTexture final : public Castable { /// Constructor /// @param dim the dimensionality of the texture /// @param type the data type of the sampled texture - SampledTexture(TextureDimension dim, const type::Type* type); + /// @param filterable the texture filterability + SampledTexture(TextureDimension dim, + const type::Type* type, + TextureFilterable filterable = TextureFilterable::kUndefined); /// Destructor ~SampledTexture() override; @@ -53,6 +57,9 @@ class SampledTexture final : public Castable { /// @returns the subtype of the sampled texture const type::Type* Type() const { return type_; } + /// @returns the filterability + TextureFilterable Filterable() const { return filterable_; } + /// @returns the name for this type that closely resembles how it would be /// declared in WGSL. std::string FriendlyName() const override; @@ -63,6 +70,7 @@ class SampledTexture final : public Castable { private: const type::Type* type_; + TextureFilterable filterable_; }; } // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/sampler.cc b/3rdparty/dawn/src/tint/lang/core/type/sampler.cc index 49d9f50d0..d4ab21974 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/sampler.cc +++ b/3rdparty/dawn/src/tint/lang/core/type/sampler.cc @@ -34,14 +34,16 @@ TINT_INSTANTIATE_TYPEINFO(tint::core::type::Sampler); namespace tint::core::type { -Sampler::Sampler(SamplerKind kind) - : Base(Hash(tint::TypeCode::Of().bits, kind), core::type::Flags{}), kind_(kind) {} +Sampler::Sampler(SamplerKind kind, SamplerFiltering filtering) + : Base(Hash(tint::TypeCode::Of().bits, kind, filtering), core::type::Flags{}), + kind_(kind), + filtering_(filtering) {} Sampler::~Sampler() = default; bool Sampler::Equals(const UniqueNode& other) const { if (auto* o = other.As()) { - return o->kind_ == kind_; + return o->kind_ == kind_ && o->filtering_ == filtering_; } return false; } @@ -51,11 +53,17 @@ uint32_t Sampler::Align() const { } std::string Sampler::FriendlyName() const { - return kind_ == SamplerKind::kSampler ? "sampler" : "sampler_comparison"; + if (kind_ == SamplerKind::kComparisonSampler) { + return "sampler_comparison"; + } + if (filtering_ == SamplerFiltering::kUndefined) { + return "sampler"; + } + return "sampler<" + std::string(ToString(filtering_)) + ">"; } Sampler* Sampler::Clone(CloneContext& ctx) const { - return ctx.dst.mgr->Get(kind_); + return ctx.dst.mgr->Get(kind_, filtering_); } } // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/sampler.h b/3rdparty/dawn/src/tint/lang/core/type/sampler.h index 9a9473e60..c84878358 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/sampler.h +++ b/3rdparty/dawn/src/tint/lang/core/type/sampler.h @@ -30,6 +30,7 @@ #include +#include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/sampler_kind.h" #include "src/tint/lang/core/type/type.h" @@ -40,7 +41,8 @@ class Sampler final : public Castable { public: /// Constructor /// @param kind the kind of sampler - explicit Sampler(SamplerKind kind); + /// @param filtering the filtering flag + explicit Sampler(SamplerKind kind, SamplerFiltering filtering = SamplerFiltering::kUndefined); /// Destructor ~Sampler() override; @@ -52,6 +54,9 @@ class Sampler final : public Castable { /// @returns the sampler type SamplerKind Kind() const { return kind_; } + /// @returns the sampler Filtering + SamplerFiltering Filtering() const { return filtering_; } + /// @returns true if this is a comparison sampler bool IsComparison() const { return kind_ == SamplerKind::kComparisonSampler; } @@ -68,6 +73,7 @@ class Sampler final : public Castable { private: SamplerKind const kind_; + SamplerFiltering filtering_; }; } // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/storage_texture.h b/3rdparty/dawn/src/tint/lang/core/type/storage_texture.h index e11479ea0..4355d49a6 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/storage_texture.h +++ b/3rdparty/dawn/src/tint/lang/core/type/storage_texture.h @@ -34,11 +34,6 @@ #include "src/tint/lang/core/type/texture.h" #include "src/tint/lang/core/type/texture_dimension.h" -// Forward declarations -namespace tint::core::type { -class Manager; -} // namespace tint::core::type - namespace tint::core::type { /// A storage texture type. diff --git a/3rdparty/dawn/src/tint/lang/core/type/swizzle_view.cc b/3rdparty/dawn/src/tint/lang/core/type/swizzle_view.cc new file mode 100644 index 000000000..b6573585e --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/core/type/swizzle_view.cc @@ -0,0 +1,79 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "src/tint/lang/core/type/swizzle_view.h" + +#include "src/tint/lang/core/type/manager.h" +#include "src/tint/lang/core/type/vector.h" +#include "src/tint/utils/math/hash.h" +#include "src/tint/utils/text/string_stream.h" + +TINT_INSTANTIATE_TYPEINFO(tint::core::type::SwizzleView); + +namespace tint::core::type { + +SwizzleView::SwizzleView(core::AddressSpace address_space, + const type::Type* store_type, + core::Access access, + uint32_t from, + uint32_t to) + : Base(Hash(tint::TypeCode::Of().bits), address_space, store_type, access), + from_(from), + to_(to) { + TINT_ASSERT(1 <= from_ && from_ < 5); + TINT_ASSERT(1 <= to_ && to_ < 5); +} + +bool SwizzleView::Equals(const UniqueNode& other) const { + if (auto* o = other.As()) { + return o->AddressSpace() == AddressSpace() && o->StoreType() == StoreType() && + o->Access() == Access() && o->FromSize() == FromSize() && o->ToSize() == ToSize(); + } + return false; +} + +std::string SwizzleView::FriendlyName() const { + StringStream out; + out << "swizzle<"; + if (AddressSpace() != core::AddressSpace::kUndefined) { + out << AddressSpace() << ", "; + } + out << StoreType()->FriendlyName() << ", " << Access(); + out << ", " << from_; + out << ", " << to_; + out << ">"; + return out.str(); +} + +SwizzleView::~SwizzleView() = default; + +SwizzleView* SwizzleView::Clone(CloneContext& ctx) const { + auto* ty = StoreType()->Clone(ctx); + return ctx.dst.mgr->Get(AddressSpace(), ty, Access(), from_, to_); +} + +} // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/swizzle_view.h b/3rdparty/dawn/src/tint/lang/core/type/swizzle_view.h new file mode 100644 index 000000000..7c5f8dfc5 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/core/type/swizzle_view.h @@ -0,0 +1,80 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef SRC_TINT_LANG_CORE_TYPE_SWIZZLE_VIEW_H_ +#define SRC_TINT_LANG_CORE_TYPE_SWIZZLE_VIEW_H_ + +#include + +#include "src/tint/lang/core/type/memory_view.h" + +namespace tint::core::type { + +/// A swizzle view type. +class SwizzleView final : public Castable { + public: + /// Constructor + /// @param address_space the address space of the object reference + /// @param store_type the swizzle's result type + /// @param access the resolved access control of the object reference + /// @param from the size of the object vector + /// @param to the size of the resulting vector produced by the swizzle operation + SwizzleView(core::AddressSpace address_space, + const Type* store_type, + core::Access access, + uint32_t from, + uint32_t to); + + /// Destructor + ~SwizzleView() override; + + /// @returns the number of elements in the object vector + uint32_t FromSize() const { return from_; } + + /// @returns the number of elements in the swizzle result + uint32_t ToSize() const { return to_; } + + /// @param other the other node to compare against + /// @returns true if the this type is equal to @p other + bool Equals(const UniqueNode& other) const override; + + /// @returns the name for this type that closely resembles how it would be + /// declared in WGSL. + std::string FriendlyName() const override; + + /// @param ctx the clone context + /// @returns a clone of this type + SwizzleView* Clone(CloneContext& ctx) const override; + + private: + const uint32_t from_; + const uint32_t to_; +}; + +} // namespace tint::core::type + +#endif // SRC_TINT_LANG_CORE_TYPE_SWIZZLE_VIEW_H_ diff --git a/3rdparty/dawn/src/tint/lang/core/type/texel_buffer.h b/3rdparty/dawn/src/tint/lang/core/type/texel_buffer.h index 31e9a1a9e..01b1ef15b 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/texel_buffer.h +++ b/3rdparty/dawn/src/tint/lang/core/type/texel_buffer.h @@ -33,11 +33,6 @@ #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/texture.h" -// Forward declarations -namespace tint::core::type { -class Manager; -} // namespace tint::core::type - namespace tint::core::type { /// A texel buffer type. diff --git a/3rdparty/dawn/src/tint/lang/core/type/type.cc b/3rdparty/dawn/src/tint/lang/core/type/type.cc index 5b3d7724d..ebd55c32e 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/type.cc +++ b/3rdparty/dawn/src/tint/lang/core/type/type.cc @@ -43,6 +43,7 @@ #include "src/tint/lang/core/type/struct.h" #include "src/tint/lang/core/type/texel_buffer.h" #include "src/tint/lang/core/type/texture.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/core/type/u32.h" #include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/u8.h" @@ -63,7 +64,7 @@ Type::~Type() = default; const Type* Type::UnwrapPtr() const { auto* type = this; - while (auto* ptr = type->As()) { + if (auto* ptr = type->As()) { type = ptr->StoreType(); } return type; @@ -114,7 +115,7 @@ bool Type::IsFloatScalarOrVector() const { } bool Type::IsIntegerScalar() const { - return IsAnyOf(); + return IsAnyOf(); } bool Type::IsIntegerVector() const { @@ -126,7 +127,7 @@ bool Type::IsSignedIntegerScalar() const { } bool Type::IsUnsignedIntegerScalar() const { - return IsAnyOf(); + return IsAnyOf(); } bool Type::IsSignedIntegerVector() const { diff --git a/3rdparty/dawn/src/tint/lang/core/type/type.h b/3rdparty/dawn/src/tint/lang/core/type/type.h index e5c1d947e..fa367fed7 100644 --- a/3rdparty/dawn/src/tint/lang/core/type/type.h +++ b/3rdparty/dawn/src/tint/lang/core/type/type.h @@ -37,10 +37,6 @@ #include "src/tint/utils/containers/vector.h" // Forward declarations -namespace tint { -class ProgramBuilder; -class SymbolTable; -} // namespace tint namespace tint::core::type { class Type; } // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/u16.cc b/3rdparty/dawn/src/tint/lang/core/type/u16.cc new file mode 100644 index 000000000..04e6659f7 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/core/type/u16.cc @@ -0,0 +1,63 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "src/tint/lang/core/type/u16.h" + +#include "src/tint/lang/core/type/manager.h" + +TINT_INSTANTIATE_TYPEINFO(tint::core::type::U16); + +namespace tint::core::type { + +U16::U16() + : Base(static_cast(tint::TypeCode::Of().bits), + core::type::Flags{ + Flag::kConstructable, + Flag::kCreationFixedFootprint, + Flag::kFixedFootprint, + Flag::kHostShareable, + }) {} + +U16::~U16() = default; + +std::string U16::FriendlyName() const { + return "u16"; +} + +uint32_t U16::Size() const { + return 2; +} + +uint32_t U16::Align() const { + return 2; +} + +U16* U16::Clone(CloneContext& ctx) const { + return ctx.dst.mgr->Get(); +} + +} // namespace tint::core::type diff --git a/3rdparty/dawn/src/tint/lang/core/type/u16.h b/3rdparty/dawn/src/tint/lang/core/type/u16.h new file mode 100644 index 000000000..3a6875804 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/core/type/u16.h @@ -0,0 +1,63 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef SRC_TINT_LANG_CORE_TYPE_U16_H_ +#define SRC_TINT_LANG_CORE_TYPE_U16_H_ + +#include + +#include "src/tint/lang/core/type/numeric_scalar.h" + +namespace tint::core::type { + +/// A unsigned int 16 type. +class U16 final : public Castable { + public: + /// Constructor + U16(); + + /// Destructor + ~U16() override; + + /// @returns the name for this type that closely resembles how it would be + /// declared in WGSL. + std::string FriendlyName() const override; + + /// @returns the size in bytes of the type. + uint32_t Size() const override; + + /// @returns the alignment in bytes of the type. + uint32_t Align() const override; + + /// @param ctx the clone context + /// @returns a clone of this type + U16* Clone(CloneContext& ctx) const override; +}; + +} // namespace tint::core::type + +#endif // SRC_TINT_LANG_CORE_TYPE_U16_H_ diff --git a/3rdparty/dawn/src/tint/lang/spirv/intrinsic/data.cc b/3rdparty/dawn/src/tint/lang/spirv/intrinsic/data.cc index 15ae68e5a..52da4fd94 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/intrinsic/data.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/intrinsic/data.cc @@ -145,6 +145,20 @@ constexpr TypeMatcher kU32Matcher { }; +/// TypeMatcher for 'type u64' +constexpr TypeMatcher kU64Matcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + if (!MatchU64(state, ty)) { + return nullptr; + } + return BuildU64(state, ty); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) { + out << style::Type("u64"); + } +}; + + /// TypeMatcher for 'type i8' constexpr TypeMatcher kI8Matcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -505,6 +519,26 @@ constexpr TypeMatcher kSamplerMatcher { }; +/// TypeMatcher for 'type sampler_filtered' +constexpr TypeMatcher kSamplerFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + Number F = Number::invalid; + if (!MatchSamplerFiltered(state, ty, F)) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildSamplerFiltered(state, ty, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F; + state->PrintNum(F); + out << style::Type("sampler<", F, ">"); + } +}; + + /// TypeMatcher for 'type sampler_comparison' constexpr TypeMatcher kSamplerComparisonMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -845,6 +879,90 @@ constexpr TypeMatcher kSamplersMatcher { kSamplerMatcher.print(nullptr, out); out << style::Plain(" or "); kSamplerComparisonMatcher.print(nullptr, out);} }; +/// EnumMatcher for 'match filterable' +constexpr NumberMatcher kFilterableMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::TextureFilterable::kFilterable)) { + return Number(static_cast(core::TextureFilterable::kFilterable)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filterable"); + } +}; + +/// EnumMatcher for 'match unfilterable' +constexpr NumberMatcher kUnfilterableMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::TextureFilterable::kUnfilterable)) { + return Number(static_cast(core::TextureFilterable::kUnfilterable)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("unfilterable"); + } +}; + +/// EnumMatcher for 'match filtering' +constexpr NumberMatcher kFilteringMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SamplerFiltering::kFiltering)) { + return Number(static_cast(core::SamplerFiltering::kFiltering)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filtering"); + } +}; + +/// EnumMatcher for 'match non_filtering' +constexpr NumberMatcher kNonFilteringMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SamplerFiltering::kNonFiltering)) { + return Number(static_cast(core::SamplerFiltering::kNonFiltering)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("non_filtering"); + } +}; + +/// EnumMatcher for 'match texture_filter' +constexpr NumberMatcher kTextureFilterMatcher { +/* match */ [](MatchState&, Number number) -> Number { + switch (static_cast(number.Value())) { + case core::TextureFilterable::kFilterable: + case core::TextureFilterable::kUnfilterable: + return number; + default: + return Number::invalid; + } + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filterable")<< style::Plain(" or ") << style::Enum("unfilterable"); + } +}; + +/// EnumMatcher for 'match sampler_filter' +constexpr NumberMatcher kSamplerFilterMatcher { +/* match */ [](MatchState&, Number number) -> Number { + switch (static_cast(number.Value())) { + case core::SamplerFiltering::kFiltering: + case core::SamplerFiltering::kNonFiltering: + return number; + default: + return Number::invalid; + } + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filtering")<< style::Plain(" or ") << style::Enum("non_filtering"); + } +}; + /// EnumMatcher for 'match storage' constexpr NumberMatcher kStorageMatcher { /* match */ [](MatchState&, Number number) -> Number { @@ -1310,38 +1428,40 @@ constexpr TypeMatcher kTypeMatchers[] = { /* [9] */ kF16Matcher, /* [10] */ kI32Matcher, /* [11] */ kU32Matcher, - /* [12] */ kI8Matcher, - /* [13] */ kU8Matcher, - /* [14] */ kVec2Matcher, - /* [15] */ kVec3Matcher, - /* [16] */ kVec4Matcher, - /* [17] */ kMat2X2Matcher, - /* [18] */ kMat2X3Matcher, - /* [19] */ kMat2X4Matcher, - /* [20] */ kMat3X2Matcher, - /* [21] */ kMat3X3Matcher, - /* [22] */ kMat3X4Matcher, - /* [23] */ kMat4X2Matcher, - /* [24] */ kMat4X3Matcher, - /* [25] */ kMat4X4Matcher, - /* [26] */ kVecMatcher, - /* [27] */ kMatMatcher, - /* [28] */ kAtomicMatcher, - /* [29] */ kSamplerMatcher, - /* [30] */ kSamplerComparisonMatcher, - /* [31] */ kPtrMatcher, - /* [32] */ kStructWithRuntimeArrayMatcher, - /* [33] */ kImageMatcher, - /* [34] */ kSampledImageMatcher, - /* [35] */ kSubgroupMatrixMatcher, - /* [36] */ kF32F16Matcher, - /* [37] */ kIu32Matcher, - /* [38] */ kFiu32Matcher, - /* [39] */ kFiu32F16Matcher, - /* [40] */ kScalarMatcher, - /* [41] */ kIu32Iu8Matcher, - /* [42] */ kIu8Matcher, - /* [43] */ kSamplersMatcher, + /* [12] */ kU64Matcher, + /* [13] */ kI8Matcher, + /* [14] */ kU8Matcher, + /* [15] */ kVec2Matcher, + /* [16] */ kVec3Matcher, + /* [17] */ kVec4Matcher, + /* [18] */ kMat2X2Matcher, + /* [19] */ kMat2X3Matcher, + /* [20] */ kMat2X4Matcher, + /* [21] */ kMat3X2Matcher, + /* [22] */ kMat3X3Matcher, + /* [23] */ kMat3X4Matcher, + /* [24] */ kMat4X2Matcher, + /* [25] */ kMat4X3Matcher, + /* [26] */ kMat4X4Matcher, + /* [27] */ kVecMatcher, + /* [28] */ kMatMatcher, + /* [29] */ kAtomicMatcher, + /* [30] */ kSamplerMatcher, + /* [31] */ kSamplerFilteredMatcher, + /* [32] */ kSamplerComparisonMatcher, + /* [33] */ kPtrMatcher, + /* [34] */ kStructWithRuntimeArrayMatcher, + /* [35] */ kImageMatcher, + /* [36] */ kSampledImageMatcher, + /* [37] */ kSubgroupMatrixMatcher, + /* [38] */ kF32F16Matcher, + /* [39] */ kIu32Matcher, + /* [40] */ kFiu32Matcher, + /* [41] */ kFiu32F16Matcher, + /* [42] */ kScalarMatcher, + /* [43] */ kIu32Iu8Matcher, + /* [44] */ kIu8Matcher, + /* [45] */ kSamplersMatcher, }; /// The template numbers, and number matchers @@ -1353,1202 +1473,1221 @@ constexpr NumberMatcher kNumberMatchers[] = { /* [4] */ TemplateNumberMatcher<4>::matcher, /* [5] */ TemplateNumberMatcher<5>::matcher, /* [6] */ TemplateNumberMatcher<6>::matcher, - /* [7] */ kStorageMatcher, - /* [8] */ kWorkgroupOrStorageMatcher, - /* [9] */ kFunctionPrivateWorkgroupStorageMatcher, - /* [10] */ kF32TexelFormatMatcher, - /* [11] */ kI32TexelFormatMatcher, - /* [12] */ kU32TexelFormatMatcher, - /* [13] */ kReadWriteMatcher, - /* [14] */ kReadableMatcher, - /* [15] */ kWritableMatcher, - /* [16] */ kDim1DMatcher, - /* [17] */ kDim2DMatcher, - /* [18] */ kDim3DMatcher, - /* [19] */ kDimCubeMatcher, - /* [20] */ kDimBufferMatcher, - /* [21] */ kDimSubpassMatcher, - /* [22] */ kDim1D2D3DOrCubeMatcher, - /* [23] */ kSingleSampledMatcher, - /* [24] */ kMultiSampledMatcher, - /* [25] */ kIsDepthMatcher, - /* [26] */ kNonDepthMatcher, - /* [27] */ kAnyDepthMatcher, - /* [28] */ kIsArrayedMatcher, - /* [29] */ kNonArrayedMatcher, - /* [30] */ kAnyArrayedMatcher, - /* [31] */ kSamplingCompatibleMatcher, - /* [32] */ kRwOpCompatibleMatcher, - /* [33] */ kSubgroupMatrixKindLeftMatcher, - /* [34] */ kSubgroupMatrixKindRightMatcher, - /* [35] */ kSubgroupMatrixKindResultMatcher, + /* [7] */ kFilterableMatcher, + /* [8] */ kUnfilterableMatcher, + /* [9] */ kFilteringMatcher, + /* [10] */ kNonFilteringMatcher, + /* [11] */ kTextureFilterMatcher, + /* [12] */ kSamplerFilterMatcher, + /* [13] */ kStorageMatcher, + /* [14] */ kWorkgroupOrStorageMatcher, + /* [15] */ kFunctionPrivateWorkgroupStorageMatcher, + /* [16] */ kF32TexelFormatMatcher, + /* [17] */ kI32TexelFormatMatcher, + /* [18] */ kU32TexelFormatMatcher, + /* [19] */ kReadWriteMatcher, + /* [20] */ kReadableMatcher, + /* [21] */ kWritableMatcher, + /* [22] */ kDim1DMatcher, + /* [23] */ kDim2DMatcher, + /* [24] */ kDim3DMatcher, + /* [25] */ kDimCubeMatcher, + /* [26] */ kDimBufferMatcher, + /* [27] */ kDimSubpassMatcher, + /* [28] */ kDim1D2D3DOrCubeMatcher, + /* [29] */ kSingleSampledMatcher, + /* [30] */ kMultiSampledMatcher, + /* [31] */ kIsDepthMatcher, + /* [32] */ kNonDepthMatcher, + /* [33] */ kAnyDepthMatcher, + /* [34] */ kIsArrayedMatcher, + /* [35] */ kNonArrayedMatcher, + /* [36] */ kAnyArrayedMatcher, + /* [37] */ kSamplingCompatibleMatcher, + /* [38] */ kRwOpCompatibleMatcher, + /* [39] */ kSubgroupMatrixKindLeftMatcher, + /* [40] */ kSubgroupMatrixKindRightMatcher, + /* [41] */ kSubgroupMatrixKindResultMatcher, }; constexpr MatcherIndex kMatcherIndices[] = { - /* [0] */ MatcherIndex(34), - /* [1] */ MatcherIndex(33), + /* [0] */ MatcherIndex(36), + /* [1] */ MatcherIndex(35), /* [2] */ MatcherIndex(8), - /* [3] */ MatcherIndex(17), - /* [4] */ MatcherIndex(27), - /* [5] */ MatcherIndex(29), - /* [6] */ MatcherIndex(23), - /* [7] */ MatcherIndex(31), + /* [3] */ MatcherIndex(23), + /* [4] */ MatcherIndex(33), + /* [5] */ MatcherIndex(35), + /* [6] */ MatcherIndex(29), + /* [7] */ MatcherIndex(37), /* [8] */ MatcherIndex(0), - /* [9] */ MatcherIndex(14), - /* [10] */ MatcherIndex(8), - /* [11] */ MatcherIndex(34), - /* [12] */ MatcherIndex(33), - /* [13] */ MatcherIndex(8), - /* [14] */ MatcherIndex(17), - /* [15] */ MatcherIndex(27), - /* [16] */ MatcherIndex(28), - /* [17] */ MatcherIndex(23), - /* [18] */ MatcherIndex(31), - /* [19] */ MatcherIndex(0), - /* [20] */ MatcherIndex(14), - /* [21] */ MatcherIndex(2), - /* [22] */ MatcherIndex(34), - /* [23] */ MatcherIndex(33), - /* [24] */ MatcherIndex(8), - /* [25] */ MatcherIndex(19), - /* [26] */ MatcherIndex(27), - /* [27] */ MatcherIndex(29), - /* [28] */ MatcherIndex(23), - /* [29] */ MatcherIndex(31), - /* [30] */ MatcherIndex(0), - /* [31] */ MatcherIndex(14), - /* [32] */ MatcherIndex(1), - /* [33] */ MatcherIndex(34), + /* [9] */ MatcherIndex(20), + /* [10] */ MatcherIndex(36), + /* [11] */ MatcherIndex(35), + /* [12] */ MatcherIndex(8), + /* [13] */ MatcherIndex(23), + /* [14] */ MatcherIndex(33), + /* [15] */ MatcherIndex(34), + /* [16] */ MatcherIndex(29), + /* [17] */ MatcherIndex(37), + /* [18] */ MatcherIndex(0), + /* [19] */ MatcherIndex(20), + /* [20] */ MatcherIndex(36), + /* [21] */ MatcherIndex(35), + /* [22] */ MatcherIndex(8), + /* [23] */ MatcherIndex(25), + /* [24] */ MatcherIndex(33), + /* [25] */ MatcherIndex(35), + /* [26] */ MatcherIndex(29), + /* [27] */ MatcherIndex(37), + /* [28] */ MatcherIndex(0), + /* [29] */ MatcherIndex(20), + /* [30] */ MatcherIndex(36), + /* [31] */ MatcherIndex(35), + /* [32] */ MatcherIndex(8), + /* [33] */ MatcherIndex(25), /* [34] */ MatcherIndex(33), - /* [35] */ MatcherIndex(8), - /* [36] */ MatcherIndex(19), - /* [37] */ MatcherIndex(27), - /* [38] */ MatcherIndex(28), - /* [39] */ MatcherIndex(23), - /* [40] */ MatcherIndex(31), - /* [41] */ MatcherIndex(0), - /* [42] */ MatcherIndex(14), - /* [43] */ MatcherIndex(0), - /* [44] */ MatcherIndex(34), - /* [45] */ MatcherIndex(33), - /* [46] */ MatcherIndex(0), - /* [47] */ MatcherIndex(17), - /* [48] */ MatcherIndex(26), - /* [49] */ MatcherIndex(29), - /* [50] */ MatcherIndex(23), - /* [51] */ MatcherIndex(31), - /* [52] */ MatcherIndex(2), - /* [53] */ MatcherIndex(14), - /* [54] */ MatcherIndex(34), - /* [55] */ MatcherIndex(33), - /* [56] */ MatcherIndex(0), - /* [57] */ MatcherIndex(17), - /* [58] */ MatcherIndex(26), - /* [59] */ MatcherIndex(29), - /* [60] */ MatcherIndex(23), - /* [61] */ MatcherIndex(31), - /* [62] */ MatcherIndex(3), - /* [63] */ MatcherIndex(14), - /* [64] */ MatcherIndex(34), - /* [65] */ MatcherIndex(33), - /* [66] */ MatcherIndex(0), - /* [67] */ MatcherIndex(17), - /* [68] */ MatcherIndex(26), - /* [69] */ MatcherIndex(28), - /* [70] */ MatcherIndex(23), - /* [71] */ MatcherIndex(31), - /* [72] */ MatcherIndex(2), - /* [73] */ MatcherIndex(14), - /* [74] */ MatcherIndex(34), - /* [75] */ MatcherIndex(33), - /* [76] */ MatcherIndex(0), - /* [77] */ MatcherIndex(17), - /* [78] */ MatcherIndex(26), - /* [79] */ MatcherIndex(28), - /* [80] */ MatcherIndex(23), - /* [81] */ MatcherIndex(31), - /* [82] */ MatcherIndex(3), - /* [83] */ MatcherIndex(14), - /* [84] */ MatcherIndex(34), - /* [85] */ MatcherIndex(33), - /* [86] */ MatcherIndex(0), - /* [87] */ MatcherIndex(19), - /* [88] */ MatcherIndex(26), - /* [89] */ MatcherIndex(29), - /* [90] */ MatcherIndex(23), - /* [91] */ MatcherIndex(31), - /* [92] */ MatcherIndex(2), - /* [93] */ MatcherIndex(14), - /* [94] */ MatcherIndex(34), - /* [95] */ MatcherIndex(33), - /* [96] */ MatcherIndex(0), - /* [97] */ MatcherIndex(19), - /* [98] */ MatcherIndex(26), - /* [99] */ MatcherIndex(28), - /* [100] */ MatcherIndex(23), - /* [101] */ MatcherIndex(31), - /* [102] */ MatcherIndex(2), - /* [103] */ MatcherIndex(14), - /* [104] */ MatcherIndex(34), - /* [105] */ MatcherIndex(33), - /* [106] */ MatcherIndex(8), - /* [107] */ MatcherIndex(17), - /* [108] */ MatcherIndex(25), - /* [109] */ MatcherIndex(29), - /* [110] */ MatcherIndex(23), - /* [111] */ MatcherIndex(31), - /* [112] */ MatcherIndex(1), - /* [113] */ MatcherIndex(14), - /* [114] */ MatcherIndex(34), - /* [115] */ MatcherIndex(33), - /* [116] */ MatcherIndex(8), - /* [117] */ MatcherIndex(17), - /* [118] */ MatcherIndex(25), - /* [119] */ MatcherIndex(29), - /* [120] */ MatcherIndex(23), - /* [121] */ MatcherIndex(31), - /* [122] */ MatcherIndex(2), - /* [123] */ MatcherIndex(14), - /* [124] */ MatcherIndex(34), - /* [125] */ MatcherIndex(33), - /* [126] */ MatcherIndex(8), - /* [127] */ MatcherIndex(17), - /* [128] */ MatcherIndex(25), - /* [129] */ MatcherIndex(28), - /* [130] */ MatcherIndex(23), - /* [131] */ MatcherIndex(31), - /* [132] */ MatcherIndex(1), - /* [133] */ MatcherIndex(14), - /* [134] */ MatcherIndex(34), - /* [135] */ MatcherIndex(33), - /* [136] */ MatcherIndex(8), - /* [137] */ MatcherIndex(17), - /* [138] */ MatcherIndex(25), - /* [139] */ MatcherIndex(28), - /* [140] */ MatcherIndex(23), - /* [141] */ MatcherIndex(31), - /* [142] */ MatcherIndex(2), - /* [143] */ MatcherIndex(14), - /* [144] */ MatcherIndex(34), - /* [145] */ MatcherIndex(33), - /* [146] */ MatcherIndex(8), - /* [147] */ MatcherIndex(19), - /* [148] */ MatcherIndex(25), - /* [149] */ MatcherIndex(29), - /* [150] */ MatcherIndex(23), - /* [151] */ MatcherIndex(31), - /* [152] */ MatcherIndex(1), - /* [153] */ MatcherIndex(14), - /* [154] */ MatcherIndex(34), - /* [155] */ MatcherIndex(33), - /* [156] */ MatcherIndex(8), - /* [157] */ MatcherIndex(19), - /* [158] */ MatcherIndex(25), - /* [159] */ MatcherIndex(28), - /* [160] */ MatcherIndex(23), - /* [161] */ MatcherIndex(31), - /* [162] */ MatcherIndex(1), - /* [163] */ MatcherIndex(14), - /* [164] */ MatcherIndex(34), - /* [165] */ MatcherIndex(33), - /* [166] */ MatcherIndex(0), - /* [167] */ MatcherIndex(16), - /* [168] */ MatcherIndex(26), - /* [169] */ MatcherIndex(29), - /* [170] */ MatcherIndex(23), - /* [171] */ MatcherIndex(31), - /* [172] */ MatcherIndex(1), - /* [173] */ MatcherIndex(14), - /* [174] */ MatcherIndex(34), - /* [175] */ MatcherIndex(33), - /* [176] */ MatcherIndex(0), - /* [177] */ MatcherIndex(17), - /* [178] */ MatcherIndex(26), - /* [179] */ MatcherIndex(29), - /* [180] */ MatcherIndex(23), - /* [181] */ MatcherIndex(31), - /* [182] */ MatcherIndex(1), - /* [183] */ MatcherIndex(14), - /* [184] */ MatcherIndex(34), - /* [185] */ MatcherIndex(33), - /* [186] */ MatcherIndex(0), - /* [187] */ MatcherIndex(17), - /* [188] */ MatcherIndex(26), - /* [189] */ MatcherIndex(28), - /* [190] */ MatcherIndex(23), - /* [191] */ MatcherIndex(31), - /* [192] */ MatcherIndex(1), - /* [193] */ MatcherIndex(14), - /* [194] */ MatcherIndex(34), - /* [195] */ MatcherIndex(33), - /* [196] */ MatcherIndex(0), - /* [197] */ MatcherIndex(18), - /* [198] */ MatcherIndex(26), - /* [199] */ MatcherIndex(29), - /* [200] */ MatcherIndex(23), - /* [201] */ MatcherIndex(31), - /* [202] */ MatcherIndex(1), - /* [203] */ MatcherIndex(14), - /* [204] */ MatcherIndex(34), - /* [205] */ MatcherIndex(33), - /* [206] */ MatcherIndex(0), - /* [207] */ MatcherIndex(18), - /* [208] */ MatcherIndex(26), - /* [209] */ MatcherIndex(29), - /* [210] */ MatcherIndex(23), - /* [211] */ MatcherIndex(31), - /* [212] */ MatcherIndex(2), - /* [213] */ MatcherIndex(14), - /* [214] */ MatcherIndex(34), - /* [215] */ MatcherIndex(33), - /* [216] */ MatcherIndex(0), - /* [217] */ MatcherIndex(19), - /* [218] */ MatcherIndex(26), - /* [219] */ MatcherIndex(29), - /* [220] */ MatcherIndex(23), - /* [221] */ MatcherIndex(31), - /* [222] */ MatcherIndex(1), - /* [223] */ MatcherIndex(14), - /* [224] */ MatcherIndex(34), - /* [225] */ MatcherIndex(33), - /* [226] */ MatcherIndex(0), - /* [227] */ MatcherIndex(19), - /* [228] */ MatcherIndex(26), - /* [229] */ MatcherIndex(28), - /* [230] */ MatcherIndex(23), - /* [231] */ MatcherIndex(31), - /* [232] */ MatcherIndex(1), - /* [233] */ MatcherIndex(14), - /* [234] */ MatcherIndex(34), - /* [235] */ MatcherIndex(33), - /* [236] */ MatcherIndex(8), - /* [237] */ MatcherIndex(17), - /* [238] */ MatcherIndex(25), - /* [239] */ MatcherIndex(29), - /* [240] */ MatcherIndex(23), - /* [241] */ MatcherIndex(31), - /* [242] */ MatcherIndex(0), - /* [243] */ MatcherIndex(14), - /* [244] */ MatcherIndex(34), - /* [245] */ MatcherIndex(33), - /* [246] */ MatcherIndex(8), - /* [247] */ MatcherIndex(19), - /* [248] */ MatcherIndex(25), - /* [249] */ MatcherIndex(29), - /* [250] */ MatcherIndex(23), - /* [251] */ MatcherIndex(31), - /* [252] */ MatcherIndex(0), - /* [253] */ MatcherIndex(14), - /* [254] */ MatcherIndex(34), - /* [255] */ MatcherIndex(33), - /* [256] */ MatcherIndex(8), - /* [257] */ MatcherIndex(17), - /* [258] */ MatcherIndex(25), - /* [259] */ MatcherIndex(28), - /* [260] */ MatcherIndex(23), - /* [261] */ MatcherIndex(31), - /* [262] */ MatcherIndex(0), - /* [263] */ MatcherIndex(14), - /* [264] */ MatcherIndex(34), - /* [265] */ MatcherIndex(33), - /* [266] */ MatcherIndex(8), - /* [267] */ MatcherIndex(19), - /* [268] */ MatcherIndex(25), - /* [269] */ MatcherIndex(28), - /* [270] */ MatcherIndex(23), - /* [271] */ MatcherIndex(31), - /* [272] */ MatcherIndex(0), - /* [273] */ MatcherIndex(14), - /* [274] */ MatcherIndex(34), - /* [275] */ MatcherIndex(33), - /* [276] */ MatcherIndex(8), - /* [277] */ MatcherIndex(17), - /* [278] */ MatcherIndex(27), - /* [279] */ MatcherIndex(29), - /* [280] */ MatcherIndex(23), - /* [281] */ MatcherIndex(31), - /* [282] */ MatcherIndex(1), - /* [283] */ MatcherIndex(14), - /* [284] */ MatcherIndex(34), - /* [285] */ MatcherIndex(33), - /* [286] */ MatcherIndex(8), - /* [287] */ MatcherIndex(17), - /* [288] */ MatcherIndex(27), - /* [289] */ MatcherIndex(28), - /* [290] */ MatcherIndex(23), - /* [291] */ MatcherIndex(31), - /* [292] */ MatcherIndex(1), - /* [293] */ MatcherIndex(14), - /* [294] */ MatcherIndex(33), - /* [295] */ MatcherIndex(0), - /* [296] */ MatcherIndex(16), - /* [297] */ MatcherIndex(26), - /* [298] */ MatcherIndex(29), - /* [299] */ MatcherIndex(23), - /* [300] */ MatcherIndex(31), - /* [301] */ MatcherIndex(2), - /* [302] */ MatcherIndex(14), - /* [303] */ MatcherIndex(33), - /* [304] */ MatcherIndex(0), - /* [305] */ MatcherIndex(17), - /* [306] */ MatcherIndex(26), - /* [307] */ MatcherIndex(29), - /* [308] */ MatcherIndex(24), - /* [309] */ MatcherIndex(31), - /* [310] */ MatcherIndex(2), - /* [311] */ MatcherIndex(14), - /* [312] */ MatcherIndex(33), - /* [313] */ MatcherIndex(8), - /* [314] */ MatcherIndex(17), - /* [315] */ MatcherIndex(25), - /* [316] */ MatcherIndex(29), - /* [317] */ MatcherIndex(24), - /* [318] */ MatcherIndex(31), - /* [319] */ MatcherIndex(1), - /* [320] */ MatcherIndex(14), - /* [321] */ MatcherIndex(33), - /* [322] */ MatcherIndex(0), - /* [323] */ MatcherIndex(16), - /* [324] */ MatcherIndex(26), - /* [325] */ MatcherIndex(29), - /* [326] */ MatcherIndex(23), - /* [327] */ MatcherIndex(31), - /* [328] */ MatcherIndex(3), - /* [329] */ MatcherIndex(14), - /* [330] */ MatcherIndex(33), - /* [331] */ MatcherIndex(0), - /* [332] */ MatcherIndex(18), - /* [333] */ MatcherIndex(26), - /* [334] */ MatcherIndex(29), - /* [335] */ MatcherIndex(23), - /* [336] */ MatcherIndex(31), - /* [337] */ MatcherIndex(3), - /* [338] */ MatcherIndex(14), - /* [339] */ MatcherIndex(33), - /* [340] */ MatcherIndex(0), - /* [341] */ MatcherIndex(17), - /* [342] */ MatcherIndex(26), - /* [343] */ MatcherIndex(29), - /* [344] */ MatcherIndex(24), - /* [345] */ MatcherIndex(31), - /* [346] */ MatcherIndex(3), - /* [347] */ MatcherIndex(14), - /* [348] */ MatcherIndex(33), - /* [349] */ MatcherIndex(8), - /* [350] */ MatcherIndex(17), - /* [351] */ MatcherIndex(25), - /* [352] */ MatcherIndex(29), - /* [353] */ MatcherIndex(24), - /* [354] */ MatcherIndex(31), - /* [355] */ MatcherIndex(2), - /* [356] */ MatcherIndex(14), - /* [357] */ MatcherIndex(33), - /* [358] */ MatcherIndex(1), - /* [359] */ MatcherIndex(16), - /* [360] */ MatcherIndex(26), - /* [361] */ MatcherIndex(29), - /* [362] */ MatcherIndex(23), - /* [363] */ MatcherIndex(32), - /* [364] */ MatcherIndex(2), - /* [365] */ MatcherIndex(3), - /* [366] */ MatcherIndex(33), - /* [367] */ MatcherIndex(1), - /* [368] */ MatcherIndex(20), - /* [369] */ MatcherIndex(26), - /* [370] */ MatcherIndex(29), - /* [371] */ MatcherIndex(23), - /* [372] */ MatcherIndex(32), - /* [373] */ MatcherIndex(2), - /* [374] */ MatcherIndex(3), - /* [375] */ MatcherIndex(33), - /* [376] */ MatcherIndex(1), - /* [377] */ MatcherIndex(17), - /* [378] */ MatcherIndex(26), - /* [379] */ MatcherIndex(29), - /* [380] */ MatcherIndex(23), - /* [381] */ MatcherIndex(32), - /* [382] */ MatcherIndex(2), - /* [383] */ MatcherIndex(3), - /* [384] */ MatcherIndex(33), - /* [385] */ MatcherIndex(1), - /* [386] */ MatcherIndex(17), - /* [387] */ MatcherIndex(26), - /* [388] */ MatcherIndex(28), - /* [389] */ MatcherIndex(23), - /* [390] */ MatcherIndex(32), - /* [391] */ MatcherIndex(2), - /* [392] */ MatcherIndex(3), - /* [393] */ MatcherIndex(33), - /* [394] */ MatcherIndex(1), - /* [395] */ MatcherIndex(18), - /* [396] */ MatcherIndex(26), - /* [397] */ MatcherIndex(29), - /* [398] */ MatcherIndex(23), - /* [399] */ MatcherIndex(32), - /* [400] */ MatcherIndex(2), - /* [401] */ MatcherIndex(3), - /* [402] */ MatcherIndex(33), - /* [403] */ MatcherIndex(1), - /* [404] */ MatcherIndex(19), - /* [405] */ MatcherIndex(26), - /* [406] */ MatcherIndex(29), - /* [407] */ MatcherIndex(23), - /* [408] */ MatcherIndex(32), - /* [409] */ MatcherIndex(2), - /* [410] */ MatcherIndex(3), - /* [411] */ MatcherIndex(33), - /* [412] */ MatcherIndex(1), - /* [413] */ MatcherIndex(19), - /* [414] */ MatcherIndex(26), - /* [415] */ MatcherIndex(28), - /* [416] */ MatcherIndex(23), - /* [417] */ MatcherIndex(32), - /* [418] */ MatcherIndex(2), - /* [419] */ MatcherIndex(3), - /* [420] */ MatcherIndex(33), - /* [421] */ MatcherIndex(1), - /* [422] */ MatcherIndex(17), - /* [423] */ MatcherIndex(26), - /* [424] */ MatcherIndex(29), - /* [425] */ MatcherIndex(24), - /* [426] */ MatcherIndex(2), - /* [427] */ MatcherIndex(3), - /* [428] */ MatcherIndex(4), - /* [429] */ MatcherIndex(33), - /* [430] */ MatcherIndex(8), - /* [431] */ MatcherIndex(17), - /* [432] */ MatcherIndex(25), - /* [433] */ MatcherIndex(29), - /* [434] */ MatcherIndex(23), - /* [435] */ MatcherIndex(32), - /* [436] */ MatcherIndex(1), - /* [437] */ MatcherIndex(2), - /* [438] */ MatcherIndex(33), - /* [439] */ MatcherIndex(8), - /* [440] */ MatcherIndex(17), - /* [441] */ MatcherIndex(25), - /* [442] */ MatcherIndex(28), - /* [443] */ MatcherIndex(23), - /* [444] */ MatcherIndex(32), - /* [445] */ MatcherIndex(1), - /* [446] */ MatcherIndex(2), - /* [447] */ MatcherIndex(33), - /* [448] */ MatcherIndex(8), - /* [449] */ MatcherIndex(19), - /* [450] */ MatcherIndex(25), - /* [451] */ MatcherIndex(29), - /* [452] */ MatcherIndex(23), - /* [453] */ MatcherIndex(32), - /* [454] */ MatcherIndex(1), - /* [455] */ MatcherIndex(2), - /* [456] */ MatcherIndex(33), - /* [457] */ MatcherIndex(8), - /* [458] */ MatcherIndex(19), - /* [459] */ MatcherIndex(25), - /* [460] */ MatcherIndex(28), - /* [461] */ MatcherIndex(23), - /* [462] */ MatcherIndex(32), - /* [463] */ MatcherIndex(1), - /* [464] */ MatcherIndex(2), - /* [465] */ MatcherIndex(33), - /* [466] */ MatcherIndex(8), - /* [467] */ MatcherIndex(17), - /* [468] */ MatcherIndex(25), - /* [469] */ MatcherIndex(29), - /* [470] */ MatcherIndex(24), + /* [35] */ MatcherIndex(34), + /* [36] */ MatcherIndex(29), + /* [37] */ MatcherIndex(37), + /* [38] */ MatcherIndex(0), + /* [39] */ MatcherIndex(20), + /* [40] */ MatcherIndex(36), + /* [41] */ MatcherIndex(35), + /* [42] */ MatcherIndex(0), + /* [43] */ MatcherIndex(23), + /* [44] */ MatcherIndex(32), + /* [45] */ MatcherIndex(35), + /* [46] */ MatcherIndex(29), + /* [47] */ MatcherIndex(37), + /* [48] */ MatcherIndex(2), + /* [49] */ MatcherIndex(20), + /* [50] */ MatcherIndex(36), + /* [51] */ MatcherIndex(35), + /* [52] */ MatcherIndex(0), + /* [53] */ MatcherIndex(23), + /* [54] */ MatcherIndex(32), + /* [55] */ MatcherIndex(35), + /* [56] */ MatcherIndex(29), + /* [57] */ MatcherIndex(37), + /* [58] */ MatcherIndex(3), + /* [59] */ MatcherIndex(20), + /* [60] */ MatcherIndex(36), + /* [61] */ MatcherIndex(35), + /* [62] */ MatcherIndex(0), + /* [63] */ MatcherIndex(23), + /* [64] */ MatcherIndex(32), + /* [65] */ MatcherIndex(34), + /* [66] */ MatcherIndex(29), + /* [67] */ MatcherIndex(37), + /* [68] */ MatcherIndex(2), + /* [69] */ MatcherIndex(20), + /* [70] */ MatcherIndex(36), + /* [71] */ MatcherIndex(35), + /* [72] */ MatcherIndex(0), + /* [73] */ MatcherIndex(23), + /* [74] */ MatcherIndex(32), + /* [75] */ MatcherIndex(34), + /* [76] */ MatcherIndex(29), + /* [77] */ MatcherIndex(37), + /* [78] */ MatcherIndex(3), + /* [79] */ MatcherIndex(20), + /* [80] */ MatcherIndex(36), + /* [81] */ MatcherIndex(35), + /* [82] */ MatcherIndex(0), + /* [83] */ MatcherIndex(25), + /* [84] */ MatcherIndex(32), + /* [85] */ MatcherIndex(35), + /* [86] */ MatcherIndex(29), + /* [87] */ MatcherIndex(37), + /* [88] */ MatcherIndex(2), + /* [89] */ MatcherIndex(20), + /* [90] */ MatcherIndex(36), + /* [91] */ MatcherIndex(35), + /* [92] */ MatcherIndex(0), + /* [93] */ MatcherIndex(25), + /* [94] */ MatcherIndex(32), + /* [95] */ MatcherIndex(34), + /* [96] */ MatcherIndex(29), + /* [97] */ MatcherIndex(37), + /* [98] */ MatcherIndex(2), + /* [99] */ MatcherIndex(20), + /* [100] */ MatcherIndex(36), + /* [101] */ MatcherIndex(35), + /* [102] */ MatcherIndex(8), + /* [103] */ MatcherIndex(23), + /* [104] */ MatcherIndex(31), + /* [105] */ MatcherIndex(35), + /* [106] */ MatcherIndex(29), + /* [107] */ MatcherIndex(37), + /* [108] */ MatcherIndex(1), + /* [109] */ MatcherIndex(20), + /* [110] */ MatcherIndex(36), + /* [111] */ MatcherIndex(35), + /* [112] */ MatcherIndex(8), + /* [113] */ MatcherIndex(23), + /* [114] */ MatcherIndex(31), + /* [115] */ MatcherIndex(35), + /* [116] */ MatcherIndex(29), + /* [117] */ MatcherIndex(37), + /* [118] */ MatcherIndex(2), + /* [119] */ MatcherIndex(20), + /* [120] */ MatcherIndex(36), + /* [121] */ MatcherIndex(35), + /* [122] */ MatcherIndex(8), + /* [123] */ MatcherIndex(23), + /* [124] */ MatcherIndex(31), + /* [125] */ MatcherIndex(34), + /* [126] */ MatcherIndex(29), + /* [127] */ MatcherIndex(37), + /* [128] */ MatcherIndex(1), + /* [129] */ MatcherIndex(20), + /* [130] */ MatcherIndex(36), + /* [131] */ MatcherIndex(35), + /* [132] */ MatcherIndex(8), + /* [133] */ MatcherIndex(23), + /* [134] */ MatcherIndex(31), + /* [135] */ MatcherIndex(34), + /* [136] */ MatcherIndex(29), + /* [137] */ MatcherIndex(37), + /* [138] */ MatcherIndex(2), + /* [139] */ MatcherIndex(20), + /* [140] */ MatcherIndex(36), + /* [141] */ MatcherIndex(35), + /* [142] */ MatcherIndex(8), + /* [143] */ MatcherIndex(25), + /* [144] */ MatcherIndex(31), + /* [145] */ MatcherIndex(35), + /* [146] */ MatcherIndex(29), + /* [147] */ MatcherIndex(37), + /* [148] */ MatcherIndex(1), + /* [149] */ MatcherIndex(20), + /* [150] */ MatcherIndex(36), + /* [151] */ MatcherIndex(35), + /* [152] */ MatcherIndex(8), + /* [153] */ MatcherIndex(25), + /* [154] */ MatcherIndex(31), + /* [155] */ MatcherIndex(34), + /* [156] */ MatcherIndex(29), + /* [157] */ MatcherIndex(37), + /* [158] */ MatcherIndex(1), + /* [159] */ MatcherIndex(20), + /* [160] */ MatcherIndex(36), + /* [161] */ MatcherIndex(35), + /* [162] */ MatcherIndex(0), + /* [163] */ MatcherIndex(22), + /* [164] */ MatcherIndex(32), + /* [165] */ MatcherIndex(35), + /* [166] */ MatcherIndex(29), + /* [167] */ MatcherIndex(37), + /* [168] */ MatcherIndex(1), + /* [169] */ MatcherIndex(20), + /* [170] */ MatcherIndex(36), + /* [171] */ MatcherIndex(35), + /* [172] */ MatcherIndex(0), + /* [173] */ MatcherIndex(23), + /* [174] */ MatcherIndex(32), + /* [175] */ MatcherIndex(35), + /* [176] */ MatcherIndex(29), + /* [177] */ MatcherIndex(37), + /* [178] */ MatcherIndex(1), + /* [179] */ MatcherIndex(20), + /* [180] */ MatcherIndex(36), + /* [181] */ MatcherIndex(35), + /* [182] */ MatcherIndex(0), + /* [183] */ MatcherIndex(23), + /* [184] */ MatcherIndex(32), + /* [185] */ MatcherIndex(34), + /* [186] */ MatcherIndex(29), + /* [187] */ MatcherIndex(37), + /* [188] */ MatcherIndex(1), + /* [189] */ MatcherIndex(20), + /* [190] */ MatcherIndex(36), + /* [191] */ MatcherIndex(35), + /* [192] */ MatcherIndex(0), + /* [193] */ MatcherIndex(24), + /* [194] */ MatcherIndex(32), + /* [195] */ MatcherIndex(35), + /* [196] */ MatcherIndex(29), + /* [197] */ MatcherIndex(37), + /* [198] */ MatcherIndex(1), + /* [199] */ MatcherIndex(20), + /* [200] */ MatcherIndex(36), + /* [201] */ MatcherIndex(35), + /* [202] */ MatcherIndex(0), + /* [203] */ MatcherIndex(24), + /* [204] */ MatcherIndex(32), + /* [205] */ MatcherIndex(35), + /* [206] */ MatcherIndex(29), + /* [207] */ MatcherIndex(37), + /* [208] */ MatcherIndex(2), + /* [209] */ MatcherIndex(20), + /* [210] */ MatcherIndex(36), + /* [211] */ MatcherIndex(35), + /* [212] */ MatcherIndex(0), + /* [213] */ MatcherIndex(25), + /* [214] */ MatcherIndex(32), + /* [215] */ MatcherIndex(35), + /* [216] */ MatcherIndex(29), + /* [217] */ MatcherIndex(37), + /* [218] */ MatcherIndex(1), + /* [219] */ MatcherIndex(20), + /* [220] */ MatcherIndex(36), + /* [221] */ MatcherIndex(35), + /* [222] */ MatcherIndex(0), + /* [223] */ MatcherIndex(25), + /* [224] */ MatcherIndex(32), + /* [225] */ MatcherIndex(34), + /* [226] */ MatcherIndex(29), + /* [227] */ MatcherIndex(37), + /* [228] */ MatcherIndex(1), + /* [229] */ MatcherIndex(20), + /* [230] */ MatcherIndex(36), + /* [231] */ MatcherIndex(35), + /* [232] */ MatcherIndex(8), + /* [233] */ MatcherIndex(23), + /* [234] */ MatcherIndex(31), + /* [235] */ MatcherIndex(35), + /* [236] */ MatcherIndex(29), + /* [237] */ MatcherIndex(37), + /* [238] */ MatcherIndex(0), + /* [239] */ MatcherIndex(20), + /* [240] */ MatcherIndex(36), + /* [241] */ MatcherIndex(35), + /* [242] */ MatcherIndex(8), + /* [243] */ MatcherIndex(25), + /* [244] */ MatcherIndex(31), + /* [245] */ MatcherIndex(35), + /* [246] */ MatcherIndex(29), + /* [247] */ MatcherIndex(37), + /* [248] */ MatcherIndex(0), + /* [249] */ MatcherIndex(20), + /* [250] */ MatcherIndex(36), + /* [251] */ MatcherIndex(35), + /* [252] */ MatcherIndex(8), + /* [253] */ MatcherIndex(23), + /* [254] */ MatcherIndex(31), + /* [255] */ MatcherIndex(34), + /* [256] */ MatcherIndex(29), + /* [257] */ MatcherIndex(37), + /* [258] */ MatcherIndex(0), + /* [259] */ MatcherIndex(20), + /* [260] */ MatcherIndex(36), + /* [261] */ MatcherIndex(35), + /* [262] */ MatcherIndex(8), + /* [263] */ MatcherIndex(25), + /* [264] */ MatcherIndex(31), + /* [265] */ MatcherIndex(34), + /* [266] */ MatcherIndex(29), + /* [267] */ MatcherIndex(37), + /* [268] */ MatcherIndex(0), + /* [269] */ MatcherIndex(20), + /* [270] */ MatcherIndex(36), + /* [271] */ MatcherIndex(35), + /* [272] */ MatcherIndex(8), + /* [273] */ MatcherIndex(23), + /* [274] */ MatcherIndex(33), + /* [275] */ MatcherIndex(35), + /* [276] */ MatcherIndex(29), + /* [277] */ MatcherIndex(37), + /* [278] */ MatcherIndex(1), + /* [279] */ MatcherIndex(20), + /* [280] */ MatcherIndex(36), + /* [281] */ MatcherIndex(35), + /* [282] */ MatcherIndex(8), + /* [283] */ MatcherIndex(23), + /* [284] */ MatcherIndex(33), + /* [285] */ MatcherIndex(34), + /* [286] */ MatcherIndex(29), + /* [287] */ MatcherIndex(37), + /* [288] */ MatcherIndex(1), + /* [289] */ MatcherIndex(20), + /* [290] */ MatcherIndex(35), + /* [291] */ MatcherIndex(0), + /* [292] */ MatcherIndex(22), + /* [293] */ MatcherIndex(32), + /* [294] */ MatcherIndex(35), + /* [295] */ MatcherIndex(29), + /* [296] */ MatcherIndex(37), + /* [297] */ MatcherIndex(2), + /* [298] */ MatcherIndex(20), + /* [299] */ MatcherIndex(35), + /* [300] */ MatcherIndex(0), + /* [301] */ MatcherIndex(23), + /* [302] */ MatcherIndex(32), + /* [303] */ MatcherIndex(35), + /* [304] */ MatcherIndex(30), + /* [305] */ MatcherIndex(37), + /* [306] */ MatcherIndex(2), + /* [307] */ MatcherIndex(20), + /* [308] */ MatcherIndex(35), + /* [309] */ MatcherIndex(8), + /* [310] */ MatcherIndex(23), + /* [311] */ MatcherIndex(31), + /* [312] */ MatcherIndex(35), + /* [313] */ MatcherIndex(30), + /* [314] */ MatcherIndex(37), + /* [315] */ MatcherIndex(1), + /* [316] */ MatcherIndex(20), + /* [317] */ MatcherIndex(35), + /* [318] */ MatcherIndex(0), + /* [319] */ MatcherIndex(22), + /* [320] */ MatcherIndex(32), + /* [321] */ MatcherIndex(35), + /* [322] */ MatcherIndex(29), + /* [323] */ MatcherIndex(37), + /* [324] */ MatcherIndex(3), + /* [325] */ MatcherIndex(20), + /* [326] */ MatcherIndex(35), + /* [327] */ MatcherIndex(0), + /* [328] */ MatcherIndex(24), + /* [329] */ MatcherIndex(32), + /* [330] */ MatcherIndex(35), + /* [331] */ MatcherIndex(29), + /* [332] */ MatcherIndex(37), + /* [333] */ MatcherIndex(3), + /* [334] */ MatcherIndex(20), + /* [335] */ MatcherIndex(35), + /* [336] */ MatcherIndex(0), + /* [337] */ MatcherIndex(23), + /* [338] */ MatcherIndex(32), + /* [339] */ MatcherIndex(35), + /* [340] */ MatcherIndex(30), + /* [341] */ MatcherIndex(37), + /* [342] */ MatcherIndex(3), + /* [343] */ MatcherIndex(20), + /* [344] */ MatcherIndex(35), + /* [345] */ MatcherIndex(8), + /* [346] */ MatcherIndex(23), + /* [347] */ MatcherIndex(31), + /* [348] */ MatcherIndex(35), + /* [349] */ MatcherIndex(30), + /* [350] */ MatcherIndex(37), + /* [351] */ MatcherIndex(2), + /* [352] */ MatcherIndex(20), + /* [353] */ MatcherIndex(35), + /* [354] */ MatcherIndex(1), + /* [355] */ MatcherIndex(22), + /* [356] */ MatcherIndex(32), + /* [357] */ MatcherIndex(35), + /* [358] */ MatcherIndex(29), + /* [359] */ MatcherIndex(38), + /* [360] */ MatcherIndex(2), + /* [361] */ MatcherIndex(3), + /* [362] */ MatcherIndex(35), + /* [363] */ MatcherIndex(1), + /* [364] */ MatcherIndex(26), + /* [365] */ MatcherIndex(32), + /* [366] */ MatcherIndex(35), + /* [367] */ MatcherIndex(29), + /* [368] */ MatcherIndex(38), + /* [369] */ MatcherIndex(2), + /* [370] */ MatcherIndex(3), + /* [371] */ MatcherIndex(35), + /* [372] */ MatcherIndex(1), + /* [373] */ MatcherIndex(23), + /* [374] */ MatcherIndex(32), + /* [375] */ MatcherIndex(35), + /* [376] */ MatcherIndex(29), + /* [377] */ MatcherIndex(38), + /* [378] */ MatcherIndex(2), + /* [379] */ MatcherIndex(3), + /* [380] */ MatcherIndex(35), + /* [381] */ MatcherIndex(1), + /* [382] */ MatcherIndex(23), + /* [383] */ MatcherIndex(32), + /* [384] */ MatcherIndex(34), + /* [385] */ MatcherIndex(29), + /* [386] */ MatcherIndex(38), + /* [387] */ MatcherIndex(2), + /* [388] */ MatcherIndex(3), + /* [389] */ MatcherIndex(35), + /* [390] */ MatcherIndex(1), + /* [391] */ MatcherIndex(24), + /* [392] */ MatcherIndex(32), + /* [393] */ MatcherIndex(35), + /* [394] */ MatcherIndex(29), + /* [395] */ MatcherIndex(38), + /* [396] */ MatcherIndex(2), + /* [397] */ MatcherIndex(3), + /* [398] */ MatcherIndex(35), + /* [399] */ MatcherIndex(1), + /* [400] */ MatcherIndex(25), + /* [401] */ MatcherIndex(32), + /* [402] */ MatcherIndex(35), + /* [403] */ MatcherIndex(29), + /* [404] */ MatcherIndex(38), + /* [405] */ MatcherIndex(2), + /* [406] */ MatcherIndex(3), + /* [407] */ MatcherIndex(35), + /* [408] */ MatcherIndex(1), + /* [409] */ MatcherIndex(25), + /* [410] */ MatcherIndex(32), + /* [411] */ MatcherIndex(34), + /* [412] */ MatcherIndex(29), + /* [413] */ MatcherIndex(38), + /* [414] */ MatcherIndex(2), + /* [415] */ MatcherIndex(3), + /* [416] */ MatcherIndex(35), + /* [417] */ MatcherIndex(1), + /* [418] */ MatcherIndex(23), + /* [419] */ MatcherIndex(32), + /* [420] */ MatcherIndex(35), + /* [421] */ MatcherIndex(30), + /* [422] */ MatcherIndex(2), + /* [423] */ MatcherIndex(3), + /* [424] */ MatcherIndex(4), + /* [425] */ MatcherIndex(35), + /* [426] */ MatcherIndex(8), + /* [427] */ MatcherIndex(23), + /* [428] */ MatcherIndex(31), + /* [429] */ MatcherIndex(35), + /* [430] */ MatcherIndex(29), + /* [431] */ MatcherIndex(38), + /* [432] */ MatcherIndex(1), + /* [433] */ MatcherIndex(2), + /* [434] */ MatcherIndex(35), + /* [435] */ MatcherIndex(8), + /* [436] */ MatcherIndex(23), + /* [437] */ MatcherIndex(31), + /* [438] */ MatcherIndex(34), + /* [439] */ MatcherIndex(29), + /* [440] */ MatcherIndex(38), + /* [441] */ MatcherIndex(1), + /* [442] */ MatcherIndex(2), + /* [443] */ MatcherIndex(35), + /* [444] */ MatcherIndex(8), + /* [445] */ MatcherIndex(25), + /* [446] */ MatcherIndex(31), + /* [447] */ MatcherIndex(35), + /* [448] */ MatcherIndex(29), + /* [449] */ MatcherIndex(38), + /* [450] */ MatcherIndex(1), + /* [451] */ MatcherIndex(2), + /* [452] */ MatcherIndex(35), + /* [453] */ MatcherIndex(8), + /* [454] */ MatcherIndex(25), + /* [455] */ MatcherIndex(31), + /* [456] */ MatcherIndex(34), + /* [457] */ MatcherIndex(29), + /* [458] */ MatcherIndex(38), + /* [459] */ MatcherIndex(1), + /* [460] */ MatcherIndex(2), + /* [461] */ MatcherIndex(35), + /* [462] */ MatcherIndex(8), + /* [463] */ MatcherIndex(23), + /* [464] */ MatcherIndex(31), + /* [465] */ MatcherIndex(35), + /* [466] */ MatcherIndex(30), + /* [467] */ MatcherIndex(1), + /* [468] */ MatcherIndex(2), + /* [469] */ MatcherIndex(3), + /* [470] */ MatcherIndex(35), /* [471] */ MatcherIndex(1), - /* [472] */ MatcherIndex(2), - /* [473] */ MatcherIndex(3), - /* [474] */ MatcherIndex(33), - /* [475] */ MatcherIndex(1), - /* [476] */ MatcherIndex(16), - /* [477] */ MatcherIndex(26), - /* [478] */ MatcherIndex(29), - /* [479] */ MatcherIndex(23), - /* [480] */ MatcherIndex(3), - /* [481] */ MatcherIndex(4), - /* [482] */ MatcherIndex(5), - /* [483] */ MatcherIndex(33), - /* [484] */ MatcherIndex(1), - /* [485] */ MatcherIndex(20), - /* [486] */ MatcherIndex(26), - /* [487] */ MatcherIndex(29), - /* [488] */ MatcherIndex(23), - /* [489] */ MatcherIndex(3), - /* [490] */ MatcherIndex(4), - /* [491] */ MatcherIndex(5), - /* [492] */ MatcherIndex(33), - /* [493] */ MatcherIndex(1), - /* [494] */ MatcherIndex(17), - /* [495] */ MatcherIndex(26), - /* [496] */ MatcherIndex(29), - /* [497] */ MatcherIndex(23), - /* [498] */ MatcherIndex(3), - /* [499] */ MatcherIndex(4), - /* [500] */ MatcherIndex(5), - /* [501] */ MatcherIndex(33), - /* [502] */ MatcherIndex(1), - /* [503] */ MatcherIndex(17), - /* [504] */ MatcherIndex(26), - /* [505] */ MatcherIndex(28), - /* [506] */ MatcherIndex(23), - /* [507] */ MatcherIndex(3), - /* [508] */ MatcherIndex(4), - /* [509] */ MatcherIndex(5), - /* [510] */ MatcherIndex(33), - /* [511] */ MatcherIndex(1), - /* [512] */ MatcherIndex(18), - /* [513] */ MatcherIndex(26), - /* [514] */ MatcherIndex(29), - /* [515] */ MatcherIndex(23), - /* [516] */ MatcherIndex(3), - /* [517] */ MatcherIndex(4), - /* [518] */ MatcherIndex(5), - /* [519] */ MatcherIndex(33), - /* [520] */ MatcherIndex(1), - /* [521] */ MatcherIndex(19), - /* [522] */ MatcherIndex(26), - /* [523] */ MatcherIndex(29), - /* [524] */ MatcherIndex(23), - /* [525] */ MatcherIndex(3), - /* [526] */ MatcherIndex(4), - /* [527] */ MatcherIndex(5), - /* [528] */ MatcherIndex(33), - /* [529] */ MatcherIndex(1), - /* [530] */ MatcherIndex(19), - /* [531] */ MatcherIndex(26), - /* [532] */ MatcherIndex(28), - /* [533] */ MatcherIndex(23), - /* [534] */ MatcherIndex(3), - /* [535] */ MatcherIndex(4), - /* [536] */ MatcherIndex(5), - /* [537] */ MatcherIndex(33), - /* [538] */ MatcherIndex(8), - /* [539] */ MatcherIndex(17), - /* [540] */ MatcherIndex(25), - /* [541] */ MatcherIndex(29), - /* [542] */ MatcherIndex(23), - /* [543] */ MatcherIndex(2), - /* [544] */ MatcherIndex(3), - /* [545] */ MatcherIndex(4), - /* [546] */ MatcherIndex(33), - /* [547] */ MatcherIndex(8), - /* [548] */ MatcherIndex(17), - /* [549] */ MatcherIndex(25), - /* [550] */ MatcherIndex(28), - /* [551] */ MatcherIndex(23), - /* [552] */ MatcherIndex(2), - /* [553] */ MatcherIndex(3), - /* [554] */ MatcherIndex(4), - /* [555] */ MatcherIndex(33), - /* [556] */ MatcherIndex(8), - /* [557] */ MatcherIndex(19), - /* [558] */ MatcherIndex(25), - /* [559] */ MatcherIndex(29), - /* [560] */ MatcherIndex(23), - /* [561] */ MatcherIndex(2), - /* [562] */ MatcherIndex(3), - /* [563] */ MatcherIndex(4), - /* [564] */ MatcherIndex(33), - /* [565] */ MatcherIndex(8), - /* [566] */ MatcherIndex(19), - /* [567] */ MatcherIndex(25), - /* [568] */ MatcherIndex(28), - /* [569] */ MatcherIndex(23), - /* [570] */ MatcherIndex(2), - /* [571] */ MatcherIndex(3), - /* [572] */ MatcherIndex(4), - /* [573] */ MatcherIndex(33), - /* [574] */ MatcherIndex(1), - /* [575] */ MatcherIndex(22), - /* [576] */ MatcherIndex(2), - /* [577] */ MatcherIndex(3), - /* [578] */ MatcherIndex(23), - /* [579] */ MatcherIndex(4), - /* [580] */ MatcherIndex(5), - /* [581] */ MatcherIndex(6), - /* [582] */ MatcherIndex(33), - /* [583] */ MatcherIndex(1), - /* [584] */ MatcherIndex(17), - /* [585] */ MatcherIndex(2), - /* [586] */ MatcherIndex(3), - /* [587] */ MatcherIndex(24), - /* [588] */ MatcherIndex(4), - /* [589] */ MatcherIndex(5), - /* [590] */ MatcherIndex(6), - /* [591] */ MatcherIndex(33), - /* [592] */ MatcherIndex(8), - /* [593] */ MatcherIndex(16), - /* [594] */ MatcherIndex(26), - /* [595] */ MatcherIndex(29), - /* [596] */ MatcherIndex(23), - /* [597] */ MatcherIndex(32), - /* [598] */ MatcherIndex(0), - /* [599] */ MatcherIndex(1), - /* [600] */ MatcherIndex(33), - /* [601] */ MatcherIndex(8), - /* [602] */ MatcherIndex(20), - /* [603] */ MatcherIndex(26), - /* [604] */ MatcherIndex(29), - /* [605] */ MatcherIndex(23), - /* [606] */ MatcherIndex(32), - /* [607] */ MatcherIndex(0), - /* [608] */ MatcherIndex(1), - /* [609] */ MatcherIndex(33), - /* [610] */ MatcherIndex(10), - /* [611] */ MatcherIndex(16), - /* [612] */ MatcherIndex(26), - /* [613] */ MatcherIndex(29), - /* [614] */ MatcherIndex(23), - /* [615] */ MatcherIndex(32), - /* [616] */ MatcherIndex(0), - /* [617] */ MatcherIndex(1), - /* [618] */ MatcherIndex(33), - /* [619] */ MatcherIndex(10), - /* [620] */ MatcherIndex(20), - /* [621] */ MatcherIndex(26), - /* [622] */ MatcherIndex(29), - /* [623] */ MatcherIndex(23), - /* [624] */ MatcherIndex(32), - /* [625] */ MatcherIndex(0), - /* [626] */ MatcherIndex(1), - /* [627] */ MatcherIndex(33), - /* [628] */ MatcherIndex(11), - /* [629] */ MatcherIndex(16), - /* [630] */ MatcherIndex(26), - /* [631] */ MatcherIndex(29), - /* [632] */ MatcherIndex(23), - /* [633] */ MatcherIndex(32), - /* [634] */ MatcherIndex(0), - /* [635] */ MatcherIndex(1), - /* [636] */ MatcherIndex(33), - /* [637] */ MatcherIndex(11), - /* [638] */ MatcherIndex(20), - /* [639] */ MatcherIndex(26), - /* [640] */ MatcherIndex(29), - /* [641] */ MatcherIndex(23), - /* [642] */ MatcherIndex(32), - /* [643] */ MatcherIndex(0), - /* [644] */ MatcherIndex(1), - /* [645] */ MatcherIndex(33), - /* [646] */ MatcherIndex(8), - /* [647] */ MatcherIndex(17), - /* [648] */ MatcherIndex(26), - /* [649] */ MatcherIndex(29), - /* [650] */ MatcherIndex(23), - /* [651] */ MatcherIndex(32), - /* [652] */ MatcherIndex(0), - /* [653] */ MatcherIndex(1), - /* [654] */ MatcherIndex(33), - /* [655] */ MatcherIndex(10), - /* [656] */ MatcherIndex(17), - /* [657] */ MatcherIndex(26), - /* [658] */ MatcherIndex(29), - /* [659] */ MatcherIndex(23), - /* [660] */ MatcherIndex(32), - /* [661] */ MatcherIndex(0), - /* [662] */ MatcherIndex(1), - /* [663] */ MatcherIndex(33), - /* [664] */ MatcherIndex(11), - /* [665] */ MatcherIndex(17), - /* [666] */ MatcherIndex(26), - /* [667] */ MatcherIndex(29), - /* [668] */ MatcherIndex(23), - /* [669] */ MatcherIndex(32), - /* [670] */ MatcherIndex(0), - /* [671] */ MatcherIndex(1), - /* [672] */ MatcherIndex(33), - /* [673] */ MatcherIndex(8), - /* [674] */ MatcherIndex(17), - /* [675] */ MatcherIndex(26), - /* [676] */ MatcherIndex(28), - /* [677] */ MatcherIndex(23), - /* [678] */ MatcherIndex(32), - /* [679] */ MatcherIndex(0), - /* [680] */ MatcherIndex(1), - /* [681] */ MatcherIndex(33), - /* [682] */ MatcherIndex(10), - /* [683] */ MatcherIndex(17), - /* [684] */ MatcherIndex(26), - /* [685] */ MatcherIndex(28), - /* [686] */ MatcherIndex(23), - /* [687] */ MatcherIndex(32), - /* [688] */ MatcherIndex(0), - /* [689] */ MatcherIndex(1), - /* [690] */ MatcherIndex(33), - /* [691] */ MatcherIndex(11), - /* [692] */ MatcherIndex(17), - /* [693] */ MatcherIndex(26), - /* [694] */ MatcherIndex(28), - /* [695] */ MatcherIndex(23), - /* [696] */ MatcherIndex(32), - /* [697] */ MatcherIndex(0), - /* [698] */ MatcherIndex(1), - /* [699] */ MatcherIndex(33), - /* [700] */ MatcherIndex(8), - /* [701] */ MatcherIndex(18), - /* [702] */ MatcherIndex(26), - /* [703] */ MatcherIndex(29), - /* [704] */ MatcherIndex(23), - /* [705] */ MatcherIndex(32), - /* [706] */ MatcherIndex(0), - /* [707] */ MatcherIndex(1), - /* [708] */ MatcherIndex(33), - /* [709] */ MatcherIndex(10), - /* [710] */ MatcherIndex(18), - /* [711] */ MatcherIndex(26), - /* [712] */ MatcherIndex(29), - /* [713] */ MatcherIndex(23), - /* [714] */ MatcherIndex(32), - /* [715] */ MatcherIndex(0), - /* [716] */ MatcherIndex(1), - /* [717] */ MatcherIndex(33), - /* [718] */ MatcherIndex(11), - /* [719] */ MatcherIndex(18), - /* [720] */ MatcherIndex(26), - /* [721] */ MatcherIndex(29), - /* [722] */ MatcherIndex(23), - /* [723] */ MatcherIndex(32), - /* [724] */ MatcherIndex(0), - /* [725] */ MatcherIndex(1), - /* [726] */ MatcherIndex(33), - /* [727] */ MatcherIndex(1), - /* [728] */ MatcherIndex(21), - /* [729] */ MatcherIndex(26), - /* [730] */ MatcherIndex(29), - /* [731] */ MatcherIndex(23), - /* [732] */ MatcherIndex(32), - /* [733] */ MatcherIndex(0), - /* [734] */ MatcherIndex(3), - /* [735] */ MatcherIndex(33), - /* [736] */ MatcherIndex(8), - /* [737] */ MatcherIndex(16), - /* [738] */ MatcherIndex(26), - /* [739] */ MatcherIndex(29), - /* [740] */ MatcherIndex(23), - /* [741] */ MatcherIndex(32), - /* [742] */ MatcherIndex(10), - /* [743] */ MatcherIndex(15), - /* [744] */ MatcherIndex(8), - /* [745] */ MatcherIndex(33), - /* [746] */ MatcherIndex(8), - /* [747] */ MatcherIndex(20), - /* [748] */ MatcherIndex(26), - /* [749] */ MatcherIndex(29), - /* [750] */ MatcherIndex(23), - /* [751] */ MatcherIndex(32), - /* [752] */ MatcherIndex(10), - /* [753] */ MatcherIndex(15), - /* [754] */ MatcherIndex(1), - /* [755] */ MatcherIndex(33), - /* [756] */ MatcherIndex(10), - /* [757] */ MatcherIndex(16), - /* [758] */ MatcherIndex(26), - /* [759] */ MatcherIndex(29), - /* [760] */ MatcherIndex(23), + /* [472] */ MatcherIndex(22), + /* [473] */ MatcherIndex(32), + /* [474] */ MatcherIndex(35), + /* [475] */ MatcherIndex(29), + /* [476] */ MatcherIndex(3), + /* [477] */ MatcherIndex(4), + /* [478] */ MatcherIndex(5), + /* [479] */ MatcherIndex(35), + /* [480] */ MatcherIndex(1), + /* [481] */ MatcherIndex(26), + /* [482] */ MatcherIndex(32), + /* [483] */ MatcherIndex(35), + /* [484] */ MatcherIndex(29), + /* [485] */ MatcherIndex(3), + /* [486] */ MatcherIndex(4), + /* [487] */ MatcherIndex(5), + /* [488] */ MatcherIndex(35), + /* [489] */ MatcherIndex(1), + /* [490] */ MatcherIndex(23), + /* [491] */ MatcherIndex(32), + /* [492] */ MatcherIndex(35), + /* [493] */ MatcherIndex(29), + /* [494] */ MatcherIndex(3), + /* [495] */ MatcherIndex(4), + /* [496] */ MatcherIndex(5), + /* [497] */ MatcherIndex(35), + /* [498] */ MatcherIndex(1), + /* [499] */ MatcherIndex(23), + /* [500] */ MatcherIndex(32), + /* [501] */ MatcherIndex(34), + /* [502] */ MatcherIndex(29), + /* [503] */ MatcherIndex(3), + /* [504] */ MatcherIndex(4), + /* [505] */ MatcherIndex(5), + /* [506] */ MatcherIndex(35), + /* [507] */ MatcherIndex(1), + /* [508] */ MatcherIndex(24), + /* [509] */ MatcherIndex(32), + /* [510] */ MatcherIndex(35), + /* [511] */ MatcherIndex(29), + /* [512] */ MatcherIndex(3), + /* [513] */ MatcherIndex(4), + /* [514] */ MatcherIndex(5), + /* [515] */ MatcherIndex(35), + /* [516] */ MatcherIndex(1), + /* [517] */ MatcherIndex(25), + /* [518] */ MatcherIndex(32), + /* [519] */ MatcherIndex(35), + /* [520] */ MatcherIndex(29), + /* [521] */ MatcherIndex(3), + /* [522] */ MatcherIndex(4), + /* [523] */ MatcherIndex(5), + /* [524] */ MatcherIndex(35), + /* [525] */ MatcherIndex(1), + /* [526] */ MatcherIndex(25), + /* [527] */ MatcherIndex(32), + /* [528] */ MatcherIndex(34), + /* [529] */ MatcherIndex(29), + /* [530] */ MatcherIndex(3), + /* [531] */ MatcherIndex(4), + /* [532] */ MatcherIndex(5), + /* [533] */ MatcherIndex(35), + /* [534] */ MatcherIndex(8), + /* [535] */ MatcherIndex(23), + /* [536] */ MatcherIndex(31), + /* [537] */ MatcherIndex(35), + /* [538] */ MatcherIndex(29), + /* [539] */ MatcherIndex(2), + /* [540] */ MatcherIndex(3), + /* [541] */ MatcherIndex(4), + /* [542] */ MatcherIndex(35), + /* [543] */ MatcherIndex(8), + /* [544] */ MatcherIndex(23), + /* [545] */ MatcherIndex(31), + /* [546] */ MatcherIndex(34), + /* [547] */ MatcherIndex(29), + /* [548] */ MatcherIndex(2), + /* [549] */ MatcherIndex(3), + /* [550] */ MatcherIndex(4), + /* [551] */ MatcherIndex(35), + /* [552] */ MatcherIndex(8), + /* [553] */ MatcherIndex(25), + /* [554] */ MatcherIndex(31), + /* [555] */ MatcherIndex(35), + /* [556] */ MatcherIndex(29), + /* [557] */ MatcherIndex(2), + /* [558] */ MatcherIndex(3), + /* [559] */ MatcherIndex(4), + /* [560] */ MatcherIndex(35), + /* [561] */ MatcherIndex(8), + /* [562] */ MatcherIndex(25), + /* [563] */ MatcherIndex(31), + /* [564] */ MatcherIndex(34), + /* [565] */ MatcherIndex(29), + /* [566] */ MatcherIndex(2), + /* [567] */ MatcherIndex(3), + /* [568] */ MatcherIndex(4), + /* [569] */ MatcherIndex(35), + /* [570] */ MatcherIndex(1), + /* [571] */ MatcherIndex(28), + /* [572] */ MatcherIndex(2), + /* [573] */ MatcherIndex(3), + /* [574] */ MatcherIndex(29), + /* [575] */ MatcherIndex(4), + /* [576] */ MatcherIndex(5), + /* [577] */ MatcherIndex(6), + /* [578] */ MatcherIndex(35), + /* [579] */ MatcherIndex(1), + /* [580] */ MatcherIndex(23), + /* [581] */ MatcherIndex(2), + /* [582] */ MatcherIndex(3), + /* [583] */ MatcherIndex(30), + /* [584] */ MatcherIndex(4), + /* [585] */ MatcherIndex(5), + /* [586] */ MatcherIndex(6), + /* [587] */ MatcherIndex(35), + /* [588] */ MatcherIndex(8), + /* [589] */ MatcherIndex(22), + /* [590] */ MatcherIndex(32), + /* [591] */ MatcherIndex(35), + /* [592] */ MatcherIndex(29), + /* [593] */ MatcherIndex(38), + /* [594] */ MatcherIndex(0), + /* [595] */ MatcherIndex(1), + /* [596] */ MatcherIndex(35), + /* [597] */ MatcherIndex(8), + /* [598] */ MatcherIndex(26), + /* [599] */ MatcherIndex(32), + /* [600] */ MatcherIndex(35), + /* [601] */ MatcherIndex(29), + /* [602] */ MatcherIndex(38), + /* [603] */ MatcherIndex(0), + /* [604] */ MatcherIndex(1), + /* [605] */ MatcherIndex(35), + /* [606] */ MatcherIndex(10), + /* [607] */ MatcherIndex(22), + /* [608] */ MatcherIndex(32), + /* [609] */ MatcherIndex(35), + /* [610] */ MatcherIndex(29), + /* [611] */ MatcherIndex(38), + /* [612] */ MatcherIndex(0), + /* [613] */ MatcherIndex(1), + /* [614] */ MatcherIndex(35), + /* [615] */ MatcherIndex(10), + /* [616] */ MatcherIndex(26), + /* [617] */ MatcherIndex(32), + /* [618] */ MatcherIndex(35), + /* [619] */ MatcherIndex(29), + /* [620] */ MatcherIndex(38), + /* [621] */ MatcherIndex(0), + /* [622] */ MatcherIndex(1), + /* [623] */ MatcherIndex(35), + /* [624] */ MatcherIndex(11), + /* [625] */ MatcherIndex(22), + /* [626] */ MatcherIndex(32), + /* [627] */ MatcherIndex(35), + /* [628] */ MatcherIndex(29), + /* [629] */ MatcherIndex(38), + /* [630] */ MatcherIndex(0), + /* [631] */ MatcherIndex(1), + /* [632] */ MatcherIndex(35), + /* [633] */ MatcherIndex(11), + /* [634] */ MatcherIndex(26), + /* [635] */ MatcherIndex(32), + /* [636] */ MatcherIndex(35), + /* [637] */ MatcherIndex(29), + /* [638] */ MatcherIndex(38), + /* [639] */ MatcherIndex(0), + /* [640] */ MatcherIndex(1), + /* [641] */ MatcherIndex(35), + /* [642] */ MatcherIndex(8), + /* [643] */ MatcherIndex(23), + /* [644] */ MatcherIndex(32), + /* [645] */ MatcherIndex(35), + /* [646] */ MatcherIndex(29), + /* [647] */ MatcherIndex(38), + /* [648] */ MatcherIndex(0), + /* [649] */ MatcherIndex(1), + /* [650] */ MatcherIndex(35), + /* [651] */ MatcherIndex(10), + /* [652] */ MatcherIndex(23), + /* [653] */ MatcherIndex(32), + /* [654] */ MatcherIndex(35), + /* [655] */ MatcherIndex(29), + /* [656] */ MatcherIndex(38), + /* [657] */ MatcherIndex(0), + /* [658] */ MatcherIndex(1), + /* [659] */ MatcherIndex(35), + /* [660] */ MatcherIndex(11), + /* [661] */ MatcherIndex(23), + /* [662] */ MatcherIndex(32), + /* [663] */ MatcherIndex(35), + /* [664] */ MatcherIndex(29), + /* [665] */ MatcherIndex(38), + /* [666] */ MatcherIndex(0), + /* [667] */ MatcherIndex(1), + /* [668] */ MatcherIndex(35), + /* [669] */ MatcherIndex(8), + /* [670] */ MatcherIndex(23), + /* [671] */ MatcherIndex(32), + /* [672] */ MatcherIndex(34), + /* [673] */ MatcherIndex(29), + /* [674] */ MatcherIndex(38), + /* [675] */ MatcherIndex(0), + /* [676] */ MatcherIndex(1), + /* [677] */ MatcherIndex(35), + /* [678] */ MatcherIndex(10), + /* [679] */ MatcherIndex(23), + /* [680] */ MatcherIndex(32), + /* [681] */ MatcherIndex(34), + /* [682] */ MatcherIndex(29), + /* [683] */ MatcherIndex(38), + /* [684] */ MatcherIndex(0), + /* [685] */ MatcherIndex(1), + /* [686] */ MatcherIndex(35), + /* [687] */ MatcherIndex(11), + /* [688] */ MatcherIndex(23), + /* [689] */ MatcherIndex(32), + /* [690] */ MatcherIndex(34), + /* [691] */ MatcherIndex(29), + /* [692] */ MatcherIndex(38), + /* [693] */ MatcherIndex(0), + /* [694] */ MatcherIndex(1), + /* [695] */ MatcherIndex(35), + /* [696] */ MatcherIndex(8), + /* [697] */ MatcherIndex(24), + /* [698] */ MatcherIndex(32), + /* [699] */ MatcherIndex(35), + /* [700] */ MatcherIndex(29), + /* [701] */ MatcherIndex(38), + /* [702] */ MatcherIndex(0), + /* [703] */ MatcherIndex(1), + /* [704] */ MatcherIndex(35), + /* [705] */ MatcherIndex(10), + /* [706] */ MatcherIndex(24), + /* [707] */ MatcherIndex(32), + /* [708] */ MatcherIndex(35), + /* [709] */ MatcherIndex(29), + /* [710] */ MatcherIndex(38), + /* [711] */ MatcherIndex(0), + /* [712] */ MatcherIndex(1), + /* [713] */ MatcherIndex(35), + /* [714] */ MatcherIndex(11), + /* [715] */ MatcherIndex(24), + /* [716] */ MatcherIndex(32), + /* [717] */ MatcherIndex(35), + /* [718] */ MatcherIndex(29), + /* [719] */ MatcherIndex(38), + /* [720] */ MatcherIndex(0), + /* [721] */ MatcherIndex(1), + /* [722] */ MatcherIndex(35), + /* [723] */ MatcherIndex(1), + /* [724] */ MatcherIndex(27), + /* [725] */ MatcherIndex(32), + /* [726] */ MatcherIndex(35), + /* [727] */ MatcherIndex(29), + /* [728] */ MatcherIndex(38), + /* [729] */ MatcherIndex(0), + /* [730] */ MatcherIndex(3), + /* [731] */ MatcherIndex(35), + /* [732] */ MatcherIndex(8), + /* [733] */ MatcherIndex(22), + /* [734] */ MatcherIndex(32), + /* [735] */ MatcherIndex(35), + /* [736] */ MatcherIndex(29), + /* [737] */ MatcherIndex(38), + /* [738] */ MatcherIndex(16), + /* [739] */ MatcherIndex(21), + /* [740] */ MatcherIndex(35), + /* [741] */ MatcherIndex(8), + /* [742] */ MatcherIndex(26), + /* [743] */ MatcherIndex(32), + /* [744] */ MatcherIndex(35), + /* [745] */ MatcherIndex(29), + /* [746] */ MatcherIndex(38), + /* [747] */ MatcherIndex(16), + /* [748] */ MatcherIndex(21), + /* [749] */ MatcherIndex(35), + /* [750] */ MatcherIndex(10), + /* [751] */ MatcherIndex(22), + /* [752] */ MatcherIndex(32), + /* [753] */ MatcherIndex(35), + /* [754] */ MatcherIndex(29), + /* [755] */ MatcherIndex(38), + /* [756] */ MatcherIndex(17), + /* [757] */ MatcherIndex(21), + /* [758] */ MatcherIndex(35), + /* [759] */ MatcherIndex(10), + /* [760] */ MatcherIndex(26), /* [761] */ MatcherIndex(32), - /* [762] */ MatcherIndex(11), - /* [763] */ MatcherIndex(15), - /* [764] */ MatcherIndex(0), - /* [765] */ MatcherIndex(33), - /* [766] */ MatcherIndex(10), - /* [767] */ MatcherIndex(20), - /* [768] */ MatcherIndex(26), - /* [769] */ MatcherIndex(29), - /* [770] */ MatcherIndex(23), - /* [771] */ MatcherIndex(32), - /* [772] */ MatcherIndex(11), - /* [773] */ MatcherIndex(15), - /* [774] */ MatcherIndex(2), - /* [775] */ MatcherIndex(33), - /* [776] */ MatcherIndex(11), - /* [777] */ MatcherIndex(16), + /* [762] */ MatcherIndex(35), + /* [763] */ MatcherIndex(29), + /* [764] */ MatcherIndex(38), + /* [765] */ MatcherIndex(17), + /* [766] */ MatcherIndex(21), + /* [767] */ MatcherIndex(35), + /* [768] */ MatcherIndex(11), + /* [769] */ MatcherIndex(22), + /* [770] */ MatcherIndex(32), + /* [771] */ MatcherIndex(35), + /* [772] */ MatcherIndex(29), + /* [773] */ MatcherIndex(38), + /* [774] */ MatcherIndex(18), + /* [775] */ MatcherIndex(21), + /* [776] */ MatcherIndex(35), + /* [777] */ MatcherIndex(11), /* [778] */ MatcherIndex(26), - /* [779] */ MatcherIndex(29), - /* [780] */ MatcherIndex(23), - /* [781] */ MatcherIndex(32), - /* [782] */ MatcherIndex(12), - /* [783] */ MatcherIndex(15), - /* [784] */ MatcherIndex(33), - /* [785] */ MatcherIndex(11), - /* [786] */ MatcherIndex(20), - /* [787] */ MatcherIndex(26), - /* [788] */ MatcherIndex(29), - /* [789] */ MatcherIndex(23), - /* [790] */ MatcherIndex(32), - /* [791] */ MatcherIndex(12), - /* [792] */ MatcherIndex(15), - /* [793] */ MatcherIndex(33), - /* [794] */ MatcherIndex(8), - /* [795] */ MatcherIndex(17), - /* [796] */ MatcherIndex(26), - /* [797] */ MatcherIndex(29), - /* [798] */ MatcherIndex(23), - /* [799] */ MatcherIndex(32), - /* [800] */ MatcherIndex(10), - /* [801] */ MatcherIndex(15), - /* [802] */ MatcherIndex(33), - /* [803] */ MatcherIndex(10), - /* [804] */ MatcherIndex(17), - /* [805] */ MatcherIndex(26), - /* [806] */ MatcherIndex(29), - /* [807] */ MatcherIndex(23), - /* [808] */ MatcherIndex(32), - /* [809] */ MatcherIndex(11), - /* [810] */ MatcherIndex(15), - /* [811] */ MatcherIndex(33), - /* [812] */ MatcherIndex(11), - /* [813] */ MatcherIndex(17), - /* [814] */ MatcherIndex(26), - /* [815] */ MatcherIndex(29), - /* [816] */ MatcherIndex(23), - /* [817] */ MatcherIndex(32), - /* [818] */ MatcherIndex(12), - /* [819] */ MatcherIndex(15), - /* [820] */ MatcherIndex(33), - /* [821] */ MatcherIndex(8), - /* [822] */ MatcherIndex(17), - /* [823] */ MatcherIndex(26), - /* [824] */ MatcherIndex(28), - /* [825] */ MatcherIndex(23), - /* [826] */ MatcherIndex(32), - /* [827] */ MatcherIndex(10), - /* [828] */ MatcherIndex(15), - /* [829] */ MatcherIndex(33), - /* [830] */ MatcherIndex(10), - /* [831] */ MatcherIndex(17), - /* [832] */ MatcherIndex(26), - /* [833] */ MatcherIndex(28), - /* [834] */ MatcherIndex(23), - /* [835] */ MatcherIndex(32), - /* [836] */ MatcherIndex(11), - /* [837] */ MatcherIndex(15), - /* [838] */ MatcherIndex(33), - /* [839] */ MatcherIndex(11), - /* [840] */ MatcherIndex(17), - /* [841] */ MatcherIndex(26), - /* [842] */ MatcherIndex(28), - /* [843] */ MatcherIndex(23), - /* [844] */ MatcherIndex(32), - /* [845] */ MatcherIndex(12), - /* [846] */ MatcherIndex(15), - /* [847] */ MatcherIndex(33), - /* [848] */ MatcherIndex(8), - /* [849] */ MatcherIndex(18), - /* [850] */ MatcherIndex(26), - /* [851] */ MatcherIndex(29), - /* [852] */ MatcherIndex(23), - /* [853] */ MatcherIndex(32), - /* [854] */ MatcherIndex(10), - /* [855] */ MatcherIndex(15), - /* [856] */ MatcherIndex(33), - /* [857] */ MatcherIndex(10), - /* [858] */ MatcherIndex(18), - /* [859] */ MatcherIndex(26), - /* [860] */ MatcherIndex(29), - /* [861] */ MatcherIndex(23), - /* [862] */ MatcherIndex(32), - /* [863] */ MatcherIndex(11), - /* [864] */ MatcherIndex(15), - /* [865] */ MatcherIndex(33), - /* [866] */ MatcherIndex(11), - /* [867] */ MatcherIndex(18), - /* [868] */ MatcherIndex(26), - /* [869] */ MatcherIndex(29), - /* [870] */ MatcherIndex(23), - /* [871] */ MatcherIndex(32), - /* [872] */ MatcherIndex(12), - /* [873] */ MatcherIndex(15), - /* [874] */ MatcherIndex(33), - /* [875] */ MatcherIndex(1), - /* [876] */ MatcherIndex(16), - /* [877] */ MatcherIndex(26), - /* [878] */ MatcherIndex(29), - /* [879] */ MatcherIndex(23), - /* [880] */ MatcherIndex(31), - /* [881] */ MatcherIndex(2), - /* [882] */ MatcherIndex(14), - /* [883] */ MatcherIndex(33), - /* [884] */ MatcherIndex(1), - /* [885] */ MatcherIndex(17), - /* [886] */ MatcherIndex(26), - /* [887] */ MatcherIndex(30), - /* [888] */ MatcherIndex(23), - /* [889] */ MatcherIndex(31), - /* [890] */ MatcherIndex(2), - /* [891] */ MatcherIndex(14), - /* [892] */ MatcherIndex(33), - /* [893] */ MatcherIndex(1), - /* [894] */ MatcherIndex(18), - /* [895] */ MatcherIndex(26), - /* [896] */ MatcherIndex(29), - /* [897] */ MatcherIndex(23), - /* [898] */ MatcherIndex(31), - /* [899] */ MatcherIndex(2), - /* [900] */ MatcherIndex(14), - /* [901] */ MatcherIndex(33), - /* [902] */ MatcherIndex(1), - /* [903] */ MatcherIndex(19), - /* [904] */ MatcherIndex(26), - /* [905] */ MatcherIndex(30), - /* [906] */ MatcherIndex(23), - /* [907] */ MatcherIndex(31), - /* [908] */ MatcherIndex(2), - /* [909] */ MatcherIndex(14), - /* [910] */ MatcherIndex(33), - /* [911] */ MatcherIndex(8), - /* [912] */ MatcherIndex(17), + /* [779] */ MatcherIndex(32), + /* [780] */ MatcherIndex(35), + /* [781] */ MatcherIndex(29), + /* [782] */ MatcherIndex(38), + /* [783] */ MatcherIndex(18), + /* [784] */ MatcherIndex(21), + /* [785] */ MatcherIndex(35), + /* [786] */ MatcherIndex(8), + /* [787] */ MatcherIndex(23), + /* [788] */ MatcherIndex(32), + /* [789] */ MatcherIndex(35), + /* [790] */ MatcherIndex(29), + /* [791] */ MatcherIndex(38), + /* [792] */ MatcherIndex(16), + /* [793] */ MatcherIndex(21), + /* [794] */ MatcherIndex(35), + /* [795] */ MatcherIndex(10), + /* [796] */ MatcherIndex(23), + /* [797] */ MatcherIndex(32), + /* [798] */ MatcherIndex(35), + /* [799] */ MatcherIndex(29), + /* [800] */ MatcherIndex(38), + /* [801] */ MatcherIndex(17), + /* [802] */ MatcherIndex(21), + /* [803] */ MatcherIndex(35), + /* [804] */ MatcherIndex(11), + /* [805] */ MatcherIndex(23), + /* [806] */ MatcherIndex(32), + /* [807] */ MatcherIndex(35), + /* [808] */ MatcherIndex(29), + /* [809] */ MatcherIndex(38), + /* [810] */ MatcherIndex(18), + /* [811] */ MatcherIndex(21), + /* [812] */ MatcherIndex(35), + /* [813] */ MatcherIndex(8), + /* [814] */ MatcherIndex(23), + /* [815] */ MatcherIndex(32), + /* [816] */ MatcherIndex(34), + /* [817] */ MatcherIndex(29), + /* [818] */ MatcherIndex(38), + /* [819] */ MatcherIndex(16), + /* [820] */ MatcherIndex(21), + /* [821] */ MatcherIndex(35), + /* [822] */ MatcherIndex(10), + /* [823] */ MatcherIndex(23), + /* [824] */ MatcherIndex(32), + /* [825] */ MatcherIndex(34), + /* [826] */ MatcherIndex(29), + /* [827] */ MatcherIndex(38), + /* [828] */ MatcherIndex(17), + /* [829] */ MatcherIndex(21), + /* [830] */ MatcherIndex(35), + /* [831] */ MatcherIndex(11), + /* [832] */ MatcherIndex(23), + /* [833] */ MatcherIndex(32), + /* [834] */ MatcherIndex(34), + /* [835] */ MatcherIndex(29), + /* [836] */ MatcherIndex(38), + /* [837] */ MatcherIndex(18), + /* [838] */ MatcherIndex(21), + /* [839] */ MatcherIndex(35), + /* [840] */ MatcherIndex(8), + /* [841] */ MatcherIndex(24), + /* [842] */ MatcherIndex(32), + /* [843] */ MatcherIndex(35), + /* [844] */ MatcherIndex(29), + /* [845] */ MatcherIndex(38), + /* [846] */ MatcherIndex(16), + /* [847] */ MatcherIndex(21), + /* [848] */ MatcherIndex(35), + /* [849] */ MatcherIndex(10), + /* [850] */ MatcherIndex(24), + /* [851] */ MatcherIndex(32), + /* [852] */ MatcherIndex(35), + /* [853] */ MatcherIndex(29), + /* [854] */ MatcherIndex(38), + /* [855] */ MatcherIndex(17), + /* [856] */ MatcherIndex(21), + /* [857] */ MatcherIndex(35), + /* [858] */ MatcherIndex(11), + /* [859] */ MatcherIndex(24), + /* [860] */ MatcherIndex(32), + /* [861] */ MatcherIndex(35), + /* [862] */ MatcherIndex(29), + /* [863] */ MatcherIndex(38), + /* [864] */ MatcherIndex(18), + /* [865] */ MatcherIndex(21), + /* [866] */ MatcherIndex(35), + /* [867] */ MatcherIndex(1), + /* [868] */ MatcherIndex(22), + /* [869] */ MatcherIndex(32), + /* [870] */ MatcherIndex(35), + /* [871] */ MatcherIndex(29), + /* [872] */ MatcherIndex(37), + /* [873] */ MatcherIndex(2), + /* [874] */ MatcherIndex(20), + /* [875] */ MatcherIndex(35), + /* [876] */ MatcherIndex(1), + /* [877] */ MatcherIndex(23), + /* [878] */ MatcherIndex(32), + /* [879] */ MatcherIndex(36), + /* [880] */ MatcherIndex(29), + /* [881] */ MatcherIndex(37), + /* [882] */ MatcherIndex(2), + /* [883] */ MatcherIndex(20), + /* [884] */ MatcherIndex(35), + /* [885] */ MatcherIndex(1), + /* [886] */ MatcherIndex(24), + /* [887] */ MatcherIndex(32), + /* [888] */ MatcherIndex(35), + /* [889] */ MatcherIndex(29), + /* [890] */ MatcherIndex(37), + /* [891] */ MatcherIndex(2), + /* [892] */ MatcherIndex(20), + /* [893] */ MatcherIndex(35), + /* [894] */ MatcherIndex(1), + /* [895] */ MatcherIndex(25), + /* [896] */ MatcherIndex(32), + /* [897] */ MatcherIndex(36), + /* [898] */ MatcherIndex(29), + /* [899] */ MatcherIndex(37), + /* [900] */ MatcherIndex(2), + /* [901] */ MatcherIndex(20), + /* [902] */ MatcherIndex(35), + /* [903] */ MatcherIndex(8), + /* [904] */ MatcherIndex(23), + /* [905] */ MatcherIndex(31), + /* [906] */ MatcherIndex(36), + /* [907] */ MatcherIndex(29), + /* [908] */ MatcherIndex(37), + /* [909] */ MatcherIndex(1), + /* [910] */ MatcherIndex(20), + /* [911] */ MatcherIndex(35), + /* [912] */ MatcherIndex(8), /* [913] */ MatcherIndex(25), - /* [914] */ MatcherIndex(30), - /* [915] */ MatcherIndex(23), - /* [916] */ MatcherIndex(31), - /* [917] */ MatcherIndex(1), - /* [918] */ MatcherIndex(14), - /* [919] */ MatcherIndex(33), - /* [920] */ MatcherIndex(8), - /* [921] */ MatcherIndex(19), - /* [922] */ MatcherIndex(25), - /* [923] */ MatcherIndex(30), - /* [924] */ MatcherIndex(23), - /* [925] */ MatcherIndex(31), - /* [926] */ MatcherIndex(1), - /* [927] */ MatcherIndex(14), - /* [928] */ MatcherIndex(33), - /* [929] */ MatcherIndex(1), - /* [930] */ MatcherIndex(16), - /* [931] */ MatcherIndex(26), - /* [932] */ MatcherIndex(29), - /* [933] */ MatcherIndex(23), - /* [934] */ MatcherIndex(31), - /* [935] */ MatcherIndex(3), - /* [936] */ MatcherIndex(14), - /* [937] */ MatcherIndex(33), - /* [938] */ MatcherIndex(1), - /* [939] */ MatcherIndex(17), - /* [940] */ MatcherIndex(26), - /* [941] */ MatcherIndex(30), - /* [942] */ MatcherIndex(23), - /* [943] */ MatcherIndex(31), - /* [944] */ MatcherIndex(3), - /* [945] */ MatcherIndex(14), - /* [946] */ MatcherIndex(33), - /* [947] */ MatcherIndex(1), - /* [948] */ MatcherIndex(18), - /* [949] */ MatcherIndex(26), - /* [950] */ MatcherIndex(29), - /* [951] */ MatcherIndex(23), - /* [952] */ MatcherIndex(31), - /* [953] */ MatcherIndex(3), - /* [954] */ MatcherIndex(14), - /* [955] */ MatcherIndex(33), - /* [956] */ MatcherIndex(1), - /* [957] */ MatcherIndex(19), - /* [958] */ MatcherIndex(26), - /* [959] */ MatcherIndex(30), - /* [960] */ MatcherIndex(23), - /* [961] */ MatcherIndex(31), - /* [962] */ MatcherIndex(3), - /* [963] */ MatcherIndex(14), - /* [964] */ MatcherIndex(33), - /* [965] */ MatcherIndex(8), - /* [966] */ MatcherIndex(17), + /* [914] */ MatcherIndex(31), + /* [915] */ MatcherIndex(36), + /* [916] */ MatcherIndex(29), + /* [917] */ MatcherIndex(37), + /* [918] */ MatcherIndex(1), + /* [919] */ MatcherIndex(20), + /* [920] */ MatcherIndex(35), + /* [921] */ MatcherIndex(1), + /* [922] */ MatcherIndex(22), + /* [923] */ MatcherIndex(32), + /* [924] */ MatcherIndex(35), + /* [925] */ MatcherIndex(29), + /* [926] */ MatcherIndex(37), + /* [927] */ MatcherIndex(3), + /* [928] */ MatcherIndex(20), + /* [929] */ MatcherIndex(35), + /* [930] */ MatcherIndex(1), + /* [931] */ MatcherIndex(23), + /* [932] */ MatcherIndex(32), + /* [933] */ MatcherIndex(36), + /* [934] */ MatcherIndex(29), + /* [935] */ MatcherIndex(37), + /* [936] */ MatcherIndex(3), + /* [937] */ MatcherIndex(20), + /* [938] */ MatcherIndex(35), + /* [939] */ MatcherIndex(1), + /* [940] */ MatcherIndex(24), + /* [941] */ MatcherIndex(32), + /* [942] */ MatcherIndex(35), + /* [943] */ MatcherIndex(29), + /* [944] */ MatcherIndex(37), + /* [945] */ MatcherIndex(3), + /* [946] */ MatcherIndex(20), + /* [947] */ MatcherIndex(35), + /* [948] */ MatcherIndex(1), + /* [949] */ MatcherIndex(25), + /* [950] */ MatcherIndex(32), + /* [951] */ MatcherIndex(36), + /* [952] */ MatcherIndex(29), + /* [953] */ MatcherIndex(37), + /* [954] */ MatcherIndex(3), + /* [955] */ MatcherIndex(20), + /* [956] */ MatcherIndex(35), + /* [957] */ MatcherIndex(8), + /* [958] */ MatcherIndex(23), + /* [959] */ MatcherIndex(31), + /* [960] */ MatcherIndex(36), + /* [961] */ MatcherIndex(29), + /* [962] */ MatcherIndex(37), + /* [963] */ MatcherIndex(2), + /* [964] */ MatcherIndex(20), + /* [965] */ MatcherIndex(35), + /* [966] */ MatcherIndex(8), /* [967] */ MatcherIndex(25), - /* [968] */ MatcherIndex(30), - /* [969] */ MatcherIndex(23), - /* [970] */ MatcherIndex(31), - /* [971] */ MatcherIndex(2), - /* [972] */ MatcherIndex(14), - /* [973] */ MatcherIndex(33), - /* [974] */ MatcherIndex(8), - /* [975] */ MatcherIndex(19), - /* [976] */ MatcherIndex(25), - /* [977] */ MatcherIndex(30), - /* [978] */ MatcherIndex(23), - /* [979] */ MatcherIndex(31), - /* [980] */ MatcherIndex(2), - /* [981] */ MatcherIndex(14), - /* [982] */ MatcherIndex(31), + /* [968] */ MatcherIndex(31), + /* [969] */ MatcherIndex(36), + /* [970] */ MatcherIndex(29), + /* [971] */ MatcherIndex(37), + /* [972] */ MatcherIndex(2), + /* [973] */ MatcherIndex(20), + /* [974] */ MatcherIndex(33), + /* [975] */ MatcherIndex(2), + /* [976] */ MatcherIndex(27), + /* [977] */ MatcherIndex(1), + /* [978] */ MatcherIndex(0), + /* [979] */ MatcherIndex(21), + /* [980] */ MatcherIndex(33), + /* [981] */ MatcherIndex(3), + /* [982] */ MatcherIndex(27), /* [983] */ MatcherIndex(2), - /* [984] */ MatcherIndex(26), - /* [985] */ MatcherIndex(1), - /* [986] */ MatcherIndex(0), - /* [987] */ MatcherIndex(15), - /* [988] */ MatcherIndex(31), - /* [989] */ MatcherIndex(3), - /* [990] */ MatcherIndex(26), - /* [991] */ MatcherIndex(2), - /* [992] */ MatcherIndex(1), - /* [993] */ MatcherIndex(15), - /* [994] */ MatcherIndex(31), - /* [995] */ MatcherIndex(2), - /* [996] */ MatcherIndex(28), - /* [997] */ MatcherIndex(0), - /* [998] */ MatcherIndex(13), - /* [999] */ MatcherIndex(35), - /* [1000] */ MatcherIndex(1), - /* [1001] */ MatcherIndex(2), - /* [1002] */ MatcherIndex(3), - /* [1003] */ MatcherIndex(4), - /* [1004] */ MatcherIndex(35), - /* [1005] */ MatcherIndex(0), - /* [1006] */ MatcherIndex(1), - /* [1007] */ MatcherIndex(2), - /* [1008] */ MatcherIndex(3), - /* [1009] */ MatcherIndex(35), - /* [1010] */ MatcherIndex(35), - /* [1011] */ MatcherIndex(1), - /* [1012] */ MatcherIndex(2), - /* [1013] */ MatcherIndex(3), - /* [1014] */ MatcherIndex(35), - /* [1015] */ MatcherIndex(33), - /* [1016] */ MatcherIndex(0), - /* [1017] */ MatcherIndex(4), - /* [1018] */ MatcherIndex(3), - /* [1019] */ MatcherIndex(35), - /* [1020] */ MatcherIndex(34), - /* [1021] */ MatcherIndex(0), - /* [1022] */ MatcherIndex(2), - /* [1023] */ MatcherIndex(4), - /* [1024] */ MatcherIndex(35), - /* [1025] */ MatcherIndex(0), - /* [1026] */ MatcherIndex(12), - /* [1027] */ MatcherIndex(1), - /* [1028] */ MatcherIndex(2), - /* [1029] */ MatcherIndex(35), - /* [1030] */ MatcherIndex(0), - /* [1031] */ MatcherIndex(13), - /* [1032] */ MatcherIndex(1), - /* [1033] */ MatcherIndex(2), - /* [1034] */ MatcherIndex(31), - /* [1035] */ MatcherIndex(7), - /* [1036] */ MatcherIndex(32), - /* [1037] */ MatcherIndex(1), - /* [1038] */ MatcherIndex(31), - /* [1039] */ MatcherIndex(2), - /* [1040] */ MatcherIndex(0), - /* [1041] */ MatcherIndex(14), - /* [1042] */ MatcherIndex(31), - /* [1043] */ MatcherIndex(2), - /* [1044] */ MatcherIndex(0), - /* [1045] */ MatcherIndex(15), - /* [1046] */ MatcherIndex(27), - /* [1047] */ MatcherIndex(2), - /* [1048] */ MatcherIndex(3), - /* [1049] */ MatcherIndex(0), - /* [1050] */ MatcherIndex(27), - /* [1051] */ MatcherIndex(1), - /* [1052] */ MatcherIndex(3), - /* [1053] */ MatcherIndex(0), - /* [1054] */ MatcherIndex(27), - /* [1055] */ MatcherIndex(2), + /* [984] */ MatcherIndex(1), + /* [985] */ MatcherIndex(21), + /* [986] */ MatcherIndex(33), + /* [987] */ MatcherIndex(2), + /* [988] */ MatcherIndex(29), + /* [989] */ MatcherIndex(0), + /* [990] */ MatcherIndex(19), + /* [991] */ MatcherIndex(33), + /* [992] */ MatcherIndex(13), + /* [993] */ MatcherIndex(29), + /* [994] */ MatcherIndex(12), + /* [995] */ MatcherIndex(19), + /* [996] */ MatcherIndex(37), + /* [997] */ MatcherIndex(1), + /* [998] */ MatcherIndex(2), + /* [999] */ MatcherIndex(3), + /* [1000] */ MatcherIndex(4), + /* [1001] */ MatcherIndex(37), + /* [1002] */ MatcherIndex(0), + /* [1003] */ MatcherIndex(1), + /* [1004] */ MatcherIndex(2), + /* [1005] */ MatcherIndex(3), + /* [1006] */ MatcherIndex(37), + /* [1007] */ MatcherIndex(41), + /* [1008] */ MatcherIndex(1), + /* [1009] */ MatcherIndex(2), + /* [1010] */ MatcherIndex(3), + /* [1011] */ MatcherIndex(37), + /* [1012] */ MatcherIndex(39), + /* [1013] */ MatcherIndex(0), + /* [1014] */ MatcherIndex(4), + /* [1015] */ MatcherIndex(3), + /* [1016] */ MatcherIndex(37), + /* [1017] */ MatcherIndex(40), + /* [1018] */ MatcherIndex(0), + /* [1019] */ MatcherIndex(2), + /* [1020] */ MatcherIndex(4), + /* [1021] */ MatcherIndex(37), + /* [1022] */ MatcherIndex(0), + /* [1023] */ MatcherIndex(13), + /* [1024] */ MatcherIndex(1), + /* [1025] */ MatcherIndex(2), + /* [1026] */ MatcherIndex(37), + /* [1027] */ MatcherIndex(0), + /* [1028] */ MatcherIndex(14), + /* [1029] */ MatcherIndex(1), + /* [1030] */ MatcherIndex(2), + /* [1031] */ MatcherIndex(33), + /* [1032] */ MatcherIndex(13), + /* [1033] */ MatcherIndex(34), + /* [1034] */ MatcherIndex(1), + /* [1035] */ MatcherIndex(33), + /* [1036] */ MatcherIndex(2), + /* [1037] */ MatcherIndex(0), + /* [1038] */ MatcherIndex(20), + /* [1039] */ MatcherIndex(33), + /* [1040] */ MatcherIndex(2), + /* [1041] */ MatcherIndex(0), + /* [1042] */ MatcherIndex(21), + /* [1043] */ MatcherIndex(28), + /* [1044] */ MatcherIndex(2), + /* [1045] */ MatcherIndex(3), + /* [1046] */ MatcherIndex(0), + /* [1047] */ MatcherIndex(28), + /* [1048] */ MatcherIndex(1), + /* [1049] */ MatcherIndex(3), + /* [1050] */ MatcherIndex(0), + /* [1051] */ MatcherIndex(28), + /* [1052] */ MatcherIndex(2), + /* [1053] */ MatcherIndex(1), + /* [1054] */ MatcherIndex(0), + /* [1055] */ MatcherIndex(28), /* [1056] */ MatcherIndex(1), - /* [1057] */ MatcherIndex(0), - /* [1058] */ MatcherIndex(27), - /* [1059] */ MatcherIndex(1), - /* [1060] */ MatcherIndex(2), + /* [1057] */ MatcherIndex(2), + /* [1058] */ MatcherIndex(0), + /* [1059] */ MatcherIndex(33), + /* [1060] */ MatcherIndex(1), /* [1061] */ MatcherIndex(0), - /* [1062] */ MatcherIndex(31), - /* [1063] */ MatcherIndex(1), - /* [1064] */ MatcherIndex(0), - /* [1065] */ MatcherIndex(15), - /* [1066] */ MatcherIndex(31), - /* [1067] */ MatcherIndex(2), - /* [1068] */ MatcherIndex(1), - /* [1069] */ MatcherIndex(15), - /* [1070] */ MatcherIndex(31), - /* [1071] */ MatcherIndex(8), - /* [1072] */ MatcherIndex(2), - /* [1073] */ MatcherIndex(14), - /* [1074] */ MatcherIndex(31), - /* [1075] */ MatcherIndex(8), - /* [1076] */ MatcherIndex(10), - /* [1077] */ MatcherIndex(14), - /* [1078] */ MatcherIndex(31), - /* [1079] */ MatcherIndex(8), - /* [1080] */ MatcherIndex(11), - /* [1081] */ MatcherIndex(14), - /* [1082] */ MatcherIndex(31), - /* [1083] */ MatcherIndex(8), - /* [1084] */ MatcherIndex(1), - /* [1085] */ MatcherIndex(15), - /* [1086] */ MatcherIndex(31), - /* [1087] */ MatcherIndex(8), - /* [1088] */ MatcherIndex(10), - /* [1089] */ MatcherIndex(15), - /* [1090] */ MatcherIndex(31), - /* [1091] */ MatcherIndex(8), - /* [1092] */ MatcherIndex(11), - /* [1093] */ MatcherIndex(15), - /* [1094] */ MatcherIndex(26), - /* [1095] */ MatcherIndex(0), - /* [1096] */ MatcherIndex(1), - /* [1097] */ MatcherIndex(26), - /* [1098] */ MatcherIndex(2), + /* [1062] */ MatcherIndex(21), + /* [1063] */ MatcherIndex(33), + /* [1064] */ MatcherIndex(2), + /* [1065] */ MatcherIndex(1), + /* [1066] */ MatcherIndex(21), + /* [1067] */ MatcherIndex(33), + /* [1068] */ MatcherIndex(14), + /* [1069] */ MatcherIndex(2), + /* [1070] */ MatcherIndex(20), + /* [1071] */ MatcherIndex(33), + /* [1072] */ MatcherIndex(14), + /* [1073] */ MatcherIndex(10), + /* [1074] */ MatcherIndex(20), + /* [1075] */ MatcherIndex(33), + /* [1076] */ MatcherIndex(14), + /* [1077] */ MatcherIndex(11), + /* [1078] */ MatcherIndex(20), + /* [1079] */ MatcherIndex(33), + /* [1080] */ MatcherIndex(14), + /* [1081] */ MatcherIndex(1), + /* [1082] */ MatcherIndex(21), + /* [1083] */ MatcherIndex(33), + /* [1084] */ MatcherIndex(14), + /* [1085] */ MatcherIndex(10), + /* [1086] */ MatcherIndex(21), + /* [1087] */ MatcherIndex(33), + /* [1088] */ MatcherIndex(14), + /* [1089] */ MatcherIndex(11), + /* [1090] */ MatcherIndex(21), + /* [1091] */ MatcherIndex(27), + /* [1092] */ MatcherIndex(0), + /* [1093] */ MatcherIndex(1), + /* [1094] */ MatcherIndex(27), + /* [1095] */ MatcherIndex(2), + /* [1096] */ MatcherIndex(8), + /* [1097] */ MatcherIndex(27), + /* [1098] */ MatcherIndex(3), /* [1099] */ MatcherIndex(8), - /* [1100] */ MatcherIndex(26), - /* [1101] */ MatcherIndex(3), + /* [1100] */ MatcherIndex(27), + /* [1101] */ MatcherIndex(1), /* [1102] */ MatcherIndex(8), - /* [1103] */ MatcherIndex(26), - /* [1104] */ MatcherIndex(1), - /* [1105] */ MatcherIndex(8), - /* [1106] */ MatcherIndex(26), - /* [1107] */ MatcherIndex(2), - /* [1108] */ MatcherIndex(0), - /* [1109] */ MatcherIndex(26), - /* [1110] */ MatcherIndex(0), - /* [1111] */ MatcherIndex(7), - /* [1112] */ MatcherIndex(26), + /* [1103] */ MatcherIndex(27), + /* [1104] */ MatcherIndex(2), + /* [1105] */ MatcherIndex(0), + /* [1106] */ MatcherIndex(27), + /* [1107] */ MatcherIndex(0), + /* [1108] */ MatcherIndex(7), + /* [1109] */ MatcherIndex(27), + /* [1110] */ MatcherIndex(3), + /* [1111] */ MatcherIndex(0), + /* [1112] */ MatcherIndex(27), /* [1113] */ MatcherIndex(3), - /* [1114] */ MatcherIndex(0), - /* [1115] */ MatcherIndex(26), + /* [1114] */ MatcherIndex(1), + /* [1115] */ MatcherIndex(27), /* [1116] */ MatcherIndex(3), - /* [1117] */ MatcherIndex(1), - /* [1118] */ MatcherIndex(26), - /* [1119] */ MatcherIndex(3), - /* [1120] */ MatcherIndex(2), - /* [1121] */ MatcherIndex(26), + /* [1117] */ MatcherIndex(2), + /* [1118] */ MatcherIndex(27), + /* [1119] */ MatcherIndex(4), + /* [1120] */ MatcherIndex(0), + /* [1121] */ MatcherIndex(27), /* [1122] */ MatcherIndex(4), - /* [1123] */ MatcherIndex(0), - /* [1124] */ MatcherIndex(26), + /* [1123] */ MatcherIndex(1), + /* [1124] */ MatcherIndex(27), /* [1125] */ MatcherIndex(4), - /* [1126] */ MatcherIndex(1), - /* [1127] */ MatcherIndex(26), + /* [1126] */ MatcherIndex(2), + /* [1127] */ MatcherIndex(27), /* [1128] */ MatcherIndex(4), - /* [1129] */ MatcherIndex(2), - /* [1130] */ MatcherIndex(26), - /* [1131] */ MatcherIndex(4), - /* [1132] */ MatcherIndex(3), - /* [1133] */ MatcherIndex(26), - /* [1134] */ MatcherIndex(0), - /* [1135] */ MatcherIndex(2), - /* [1136] */ MatcherIndex(26), - /* [1137] */ MatcherIndex(2), - /* [1138] */ MatcherIndex(7), - /* [1139] */ MatcherIndex(16), - /* [1140] */ MatcherIndex(8), - /* [1141] */ MatcherIndex(16), - /* [1142] */ MatcherIndex(0), - /* [1143] */ MatcherIndex(16), - /* [1144] */ MatcherIndex(10), - /* [1145] */ MatcherIndex(16), - /* [1146] */ MatcherIndex(11), - /* [1147] */ MatcherIndex(16), - /* [1148] */ MatcherIndex(1), - /* [1149] */ MatcherIndex(17), - /* [1150] */ MatcherIndex(0), - /* [1151] */ MatcherIndex(21), - /* [1152] */ MatcherIndex(0), - /* [1153] */ MatcherIndex(25), - /* [1154] */ MatcherIndex(0), - /* [1155] */ MatcherIndex(37), - /* [1156] */ MatcherIndex(36), - /* [1157] */ MatcherIndex(38), - /* [1158] */ MatcherIndex(43), - /* [1159] */ MatcherIndex(40), - /* [1160] */ MatcherIndex(9), - /* [1161] */ MatcherIndex(39), - /* [1162] */ MatcherIndex(42), - /* [1163] */ MatcherIndex(41), + /* [1129] */ MatcherIndex(3), + /* [1130] */ MatcherIndex(27), + /* [1131] */ MatcherIndex(0), + /* [1132] */ MatcherIndex(2), + /* [1133] */ MatcherIndex(27), + /* [1134] */ MatcherIndex(2), + /* [1135] */ MatcherIndex(7), + /* [1136] */ MatcherIndex(17), + /* [1137] */ MatcherIndex(8), + /* [1138] */ MatcherIndex(15), + /* [1139] */ MatcherIndex(8), + /* [1140] */ MatcherIndex(15), + /* [1141] */ MatcherIndex(2), + /* [1142] */ MatcherIndex(16), + /* [1143] */ MatcherIndex(8), + /* [1144] */ MatcherIndex(17), + /* [1145] */ MatcherIndex(0), + /* [1146] */ MatcherIndex(15), + /* [1147] */ MatcherIndex(1), + /* [1148] */ MatcherIndex(16), + /* [1149] */ MatcherIndex(1), + /* [1150] */ MatcherIndex(15), + /* [1151] */ MatcherIndex(0), + /* [1152] */ MatcherIndex(16), + /* [1153] */ MatcherIndex(0), + /* [1154] */ MatcherIndex(17), + /* [1155] */ MatcherIndex(10), + /* [1156] */ MatcherIndex(17), + /* [1157] */ MatcherIndex(11), + /* [1158] */ MatcherIndex(16), + /* [1159] */ MatcherIndex(2), + /* [1160] */ MatcherIndex(17), + /* [1161] */ MatcherIndex(1), + /* [1162] */ MatcherIndex(36), + /* [1163] */ MatcherIndex(0), + /* [1164] */ MatcherIndex(31), + /* [1165] */ MatcherIndex(2), + /* [1166] */ MatcherIndex(18), + /* [1167] */ MatcherIndex(0), + /* [1168] */ MatcherIndex(22), + /* [1169] */ MatcherIndex(0), + /* [1170] */ MatcherIndex(26), + /* [1171] */ MatcherIndex(0), + /* [1172] */ MatcherIndex(45), + /* [1173] */ MatcherIndex(42), + /* [1174] */ MatcherIndex(9), + /* [1175] */ MatcherIndex(44), + /* [1176] */ MatcherIndex(43), }; static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices), @@ -2558,4352 +2697,5252 @@ constexpr ParameterInfo kParameters[] = { { /* [0] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(994), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(986), }, { /* [1] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [2] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [3] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [4] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [5] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [6] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [7] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(21), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [8] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1042), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1039), }, { /* [9] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [10] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [11] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [12] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [13] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [14] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1164), }, { /* [15] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [16] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(62), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1097), }, { /* [17] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [18] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1100), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [19] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [20] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [21] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), }, { /* [22] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [23] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [24] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [25] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [26] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [27] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), }, { /* [28] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [29] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [30] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [31] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [32] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [33] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), }, { /* [34] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [35] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [36] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [37] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [38] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [39] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), }, { /* [40] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [41] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [42] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [43] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [44] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [45] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [46] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [47] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [48] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [49] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [50] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [51] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [52] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [53] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [54] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [55] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [56] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [57] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(270), }, { /* [58] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [59] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(274), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [60] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [61] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [62] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [63] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(270), }, { /* [64] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [65] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(274), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [66] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [67] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [68] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [69] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(270), }, { /* [70] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), }, { /* [71] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(274), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [72] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1097), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [73] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [74] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [75] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(280), }, { /* [76] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [77] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(284), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [78] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [79] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [80] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [81] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(280), }, { /* [82] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [83] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(284), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [84] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [85] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [86] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [87] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(0), }, { /* [88] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [89] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(0), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [90] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [91] */ - /* usage */ core::ParameterUsage::kDref, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [92] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [93] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [94] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(11), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [95] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [96] */ - /* usage */ core::ParameterUsage::kDref, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [97] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(50), }, { /* [98] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [99] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(54), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [100] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [101] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [102] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(70), }, { /* [103] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [104] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(74), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [105] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [106] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [107] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(110), }, { /* [108] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [109] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(114), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [110] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [111] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [112] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(130), }, { /* [113] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [114] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(134), - }, - { - /* [115] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [116] */ /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { - /* [117] */ + /* [115] */ /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [116] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [117] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [118] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1097), }, { /* [119] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [120] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1100), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [121] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [122] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), }, { /* [123] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [124] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [125] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [126] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [127] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), }, { /* [128] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [129] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [130] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [131] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [132] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), }, { /* [133] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [134] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [135] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [136] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [137] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), }, { /* [138] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [139] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [140] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [141] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [142] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [143] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [144] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [145] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [146] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [147] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [148] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [149] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [150] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [151] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [152] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(270), }, { /* [153] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [154] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(274), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [155] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [156] */ - /* usage */ core::ParameterUsage::kDref, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [157] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(270), }, { /* [158] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [159] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(274), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [160] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [161] */ - /* usage */ core::ParameterUsage::kDref, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [162] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [163] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), }, { /* [164] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [165] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1097), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [166] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [167] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [168] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), - }, - { - /* [169] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), - }, - { - /* [170] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1100), - }, - { - /* [171] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [172] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [173] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [174] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(184), - }, - { - /* [175] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [176] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [177] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), - }, - { - /* [178] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), - }, - { - /* [179] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(184), - }, - { - /* [180] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [181] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [182] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), - }, - { - /* [183] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), - }, - { - /* [184] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), - }, - { - /* [185] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [186] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [187] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [188] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [189] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), - }, - { - /* [190] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [191] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [192] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [193] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [194] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(194), - }, - { - /* [195] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [196] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [197] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [198] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [199] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(194), - }, - { - /* [200] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [201] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [202] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [203] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [204] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), - }, - { - /* [205] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [206] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [207] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [208] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), - }, - { - /* [209] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), - }, - { - /* [210] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [211] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [212] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [213] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), - }, - { - /* [214] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(214), - }, - { - /* [215] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [216] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [217] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [218] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [219] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(214), - }, - { - /* [220] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [221] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [222] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [223] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [224] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(224), - }, - { - /* [225] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [226] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [227] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [228] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [229] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(104), - }, - { - /* [230] */ /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(1097), }, { - /* [231] */ + /* [169] */ /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [170] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [171] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [172] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [173] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [174] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [175] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), + }, + { + /* [176] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), + }, + { + /* [177] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [178] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [179] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [180] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), + }, + { + /* [181] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), + }, + { + /* [182] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), + }, + { + /* [183] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [184] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [185] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [186] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [187] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), + }, + { + /* [188] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [189] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [190] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [191] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [192] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(190), + }, + { + /* [193] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [194] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [195] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [196] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [197] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(190), + }, + { + /* [198] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [199] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [200] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [201] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [202] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), + }, + { + /* [203] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [204] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [205] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [206] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), + }, + { + /* [207] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), + }, + { + /* [208] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [209] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [210] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [211] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), + }, + { + /* [212] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [213] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [214] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [215] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [216] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [217] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [218] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [219] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [220] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [221] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [222] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(220), + }, + { + /* [223] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [224] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [225] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [226] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [227] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [228] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), + }, + { + /* [229] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [230] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [231] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [232] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [233] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [234] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(124), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [235] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [236] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [237] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [238] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [239] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(124), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [240] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [241] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [242] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [243] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [244] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [245] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [246] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [247] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), }, { /* [248] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [249] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [250] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [251] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [252] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [253] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [254] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [255] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [256] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [257] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [258] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [259] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [260] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [261] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [262] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), }, { /* [263] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [264] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(104), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [265] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [266] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [267] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), }, { /* [268] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [269] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(104), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [270] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [271] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [272] */ /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { - /* [273] */ + /* [271] */ /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { - /* [274] */ + /* [272] */ /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(0), }, { - /* [275] */ + /* [273] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [274] */ + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [275] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [276] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [277] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [278] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [279] */ /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(0), }, { - /* [280] */ + /* [278] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [279] */ + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [280] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [281] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [282] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(270), }, { /* [283] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), }, { /* [284] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(274), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [285] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1097), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [286] */ - /* usage */ core::ParameterUsage::kDref, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [287] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(280), }, { /* [288] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [289] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(284), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [290] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [291] */ - /* usage */ core::ParameterUsage::kDref, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [292] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(280), }, { /* [293] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [294] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(284), - }, - { - /* [295] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [296] */ /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { - /* [297] */ + /* [295] */ /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { - /* [298] */ + /* [296] */ /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { - /* [299] */ + /* [297] */ /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(0), }, { - /* [300] */ + /* [298] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1103), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1100), + }, + { + /* [299] */ + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [300] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [301] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [302] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [303] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [304] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(11), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [305] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [306] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [307] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [308] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [309] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(11), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [310] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [311] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [312] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [313] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [314] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(22), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [315] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [316] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [317] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [318] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [319] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(22), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [320] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [321] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [322] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(30), }, { /* [323] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [324] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(33), + /* usage */ core::ParameterUsage::kDref, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [325] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [326] */ - /* usage */ core::ParameterUsage::kDref, + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [327] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1079), }, { /* [328] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1001), }, { /* [329] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1082), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [330] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1004), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [331] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [332] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1083), }, { /* [333] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1001), }, { /* [334] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1086), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [335] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1004), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [336] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [337] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1087), }, { /* [338] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1001), }, { /* [339] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1090), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [340] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1004), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [341] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [342] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(986), }, { /* [343] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [344] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(994), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [345] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [346] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [347] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(8), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [348] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1042), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(58), }, { /* [349] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1039), }, { /* [350] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [351] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(8), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [352] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(321), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [353] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(991), }, { /* [354] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [355] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [356] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(55), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(994), }, { /* [357] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(317), }, { /* [358] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [359] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [360] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(75), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [361] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(51), }, { /* [362] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [363] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [364] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(330), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [365] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(71), }, { /* [366] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [367] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [368] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(339), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [369] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(326), }, { /* [370] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [371] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [372] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(115), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [373] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(335), }, { /* [374] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [375] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [376] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(135), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [377] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(111), }, { /* [378] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [379] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [380] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(348), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [381] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(131), }, { /* [382] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [383] */ - /* usage */ core::ParameterUsage::kSample, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [384] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [385] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(344), }, { /* [386] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [387] */ /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [388] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), + /* usage */ core::ParameterUsage::kSample, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [389] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), }, { /* [390] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [391] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [392] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(84), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [393] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), }, { /* [394] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [395] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [396] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(94), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [397] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(80), }, { /* [398] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [399] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [400] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(104), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [401] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(9), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(90), }, { /* [402] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [403] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [404] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(124), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [405] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), }, { /* [406] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1138), }, { /* [407] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [408] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(144), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [409] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(120), }, { /* [410] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [411] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [412] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(154), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [413] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(140), }, { /* [414] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), }, { /* [415] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [416] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), - }, - { - /* [417] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1097), - }, - { - /* [418] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [419] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [420] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), - }, - { - /* [421] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1100), - }, - { - /* [422] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [423] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [424] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(184), - }, - { - /* [425] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [426] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [427] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [428] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(184), - }, - { - /* [429] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [430] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [431] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [432] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), - }, - { - /* [433] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [434] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [435] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [436] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(64), - }, - { - /* [437] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [438] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [439] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [440] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(194), - }, - { - /* [441] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [442] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [443] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [444] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(194), - }, - { - /* [445] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [446] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [447] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [448] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), - }, - { - /* [449] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [450] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [451] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), - }, - { - /* [452] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(204), - }, - { - /* [453] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [454] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [455] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(753), - }, - { - /* [456] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(214), - }, - { - /* [457] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [458] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [459] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [460] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(214), - }, - { - /* [461] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [462] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [463] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [464] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(224), - }, - { - /* [465] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [466] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [467] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [468] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(104), - }, - { - /* [469] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1097), - }, - { - /* [470] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [471] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), - }, - { - /* [472] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(124), - }, - { - /* [473] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [474] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [475] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), - }, - { - /* [476] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(124), - }, - { - /* [477] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [478] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [479] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), - }, - { - /* [480] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), - }, - { - /* [481] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [482] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [483] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [484] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), - }, - { - /* [485] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [486] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [487] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [488] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), - }, - { - /* [489] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [490] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [491] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [492] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(44), - }, - { - /* [493] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [494] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [495] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(31), - }, - { - /* [496] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(104), - }, - { - /* [497] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [498] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [499] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), - }, - { - /* [500] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(104), - }, - { - /* [501] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [502] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [503] */ - /* usage */ core::ParameterUsage::kConstOffset, - /* matcher_indices */ MatcherIndicesIndex(42), - }, - { - /* [504] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(164), - }, - { - /* [505] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [506] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [507] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [508] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), - }, - { - /* [509] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1097), - }, - { - /* [510] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [511] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [512] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(184), - }, - { - /* [513] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [514] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [515] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [516] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(184), - }, - { - /* [517] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [518] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [519] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [520] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(194), - }, - { - /* [521] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [522] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [523] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [524] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(194), - }, - { - /* [525] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [526] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [527] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [528] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(214), - }, - { - /* [529] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [530] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [531] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [532] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(214), - }, - { - /* [533] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [534] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [535] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [536] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(224), - }, - { - /* [537] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [538] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [539] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [540] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(234), - }, - { - /* [541] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1103), - }, - { - /* [542] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [543] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [544] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(254), - }, - { - /* [545] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [546] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [547] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [548] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(254), - }, - { - /* [549] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [550] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [551] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [552] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(244), - }, - { - /* [553] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [554] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [555] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [556] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(244), - }, - { - /* [557] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [558] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [559] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [560] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(264), - }, - { - /* [561] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [562] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [563] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [564] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), - }, - { - /* [565] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [566] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [567] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [568] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(174), - }, - { - /* [569] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [570] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [571] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [572] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(234), - }, - { - /* [573] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(743), - }, - { - /* [574] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [575] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [576] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(234), - }, - { - /* [577] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1139), - }, - { - /* [578] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [579] */ - /* usage */ core::ParameterUsage::kLod, - /* matcher_indices */ MatcherIndicesIndex(2), - }, - { - /* [580] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(735), - }, - { - /* [581] */ - /* usage */ core::ParameterUsage::kCoords, + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, + { + /* [416] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [417] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(150), + }, + { + /* [418] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [419] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), + }, + { + /* [420] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [421] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), + }, + { + /* [422] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), + }, + { + /* [423] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [424] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [425] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), + }, + { + /* [426] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1097), + }, + { + /* [427] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [428] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [429] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [430] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [431] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [432] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [433] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [434] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [435] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [436] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [437] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), + }, + { + /* [438] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [439] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [440] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [441] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), + }, + { + /* [442] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [443] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [444] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [445] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(190), + }, + { + /* [446] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [447] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [448] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [449] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(190), + }, + { + /* [450] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [451] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [452] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [453] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), + }, + { + /* [454] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [455] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [456] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), + }, + { + /* [457] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), + }, + { + /* [458] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [459] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [460] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), + }, + { + /* [461] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [462] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [463] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [464] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [465] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [466] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [467] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [468] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [469] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(220), + }, + { + /* [470] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [471] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [472] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [473] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [474] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), + }, + { + /* [475] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [476] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), + }, + { + /* [477] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(120), + }, + { + /* [478] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [479] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [480] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), + }, + { + /* [481] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(120), + }, + { + /* [482] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [483] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [484] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), + }, + { + /* [485] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), + }, + { + /* [486] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [487] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [488] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [489] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), + }, + { + /* [490] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [491] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [492] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [493] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), + }, + { + /* [494] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [495] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [496] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [497] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), + }, + { + /* [498] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [499] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [500] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), + }, + { + /* [501] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [502] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [503] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [504] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), + }, + { + /* [505] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(100), + }, + { + /* [506] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [507] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [508] */ + /* usage */ core::ParameterUsage::kConstOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), + }, + { + /* [509] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(160), + }, + { + /* [510] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [511] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [512] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [513] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), + }, + { + /* [514] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), + }, + { + /* [515] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [516] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [517] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [518] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [519] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [520] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [521] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [522] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [523] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [524] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [525] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(190), + }, + { + /* [526] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [527] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [528] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [529] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(190), + }, + { + /* [530] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [531] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [532] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [533] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [534] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [535] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [536] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [537] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(210), + }, + { + /* [538] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [539] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [540] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [541] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(220), + }, + { + /* [542] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [543] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [544] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [545] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(230), + }, + { + /* [546] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1100), + }, + { + /* [547] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [548] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [549] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(250), + }, + { + /* [550] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [551] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [552] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [553] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(250), + }, + { + /* [554] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [555] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [556] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [557] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(240), + }, + { + /* [558] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [559] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [560] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [561] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(240), + }, + { + /* [562] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [563] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [564] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [565] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(260), + }, + { + /* [566] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [567] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [568] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [569] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), + }, + { + /* [570] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [571] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [572] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [573] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(170), + }, + { + /* [574] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), + }, + { + /* [575] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [576] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [577] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(230), + }, + { + /* [578] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1142), + }, + { + /* [579] */ + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [580] */ + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), + }, + { + /* [581] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(230), + }, { /* [582] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [583] */ /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [584] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(745), + /* usage */ core::ParameterUsage::kLod, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(2), }, { /* [585] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(731), }, { /* [586] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [587] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [588] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(755), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [589] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(740), }, { /* [590] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1143), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [591] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [592] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(765), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [593] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(749), }, { /* [594] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1143), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [595] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1154), }, { /* [596] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(775), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [597] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(758), }, { /* [598] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1145), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [599] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1154), }, { /* [600] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(784), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [601] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(767), }, { /* [602] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1145), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [603] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1156), }, { /* [604] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(793), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [605] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(776), }, { /* [606] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [607] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1156), }, { /* [608] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(802), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [609] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(785), }, { /* [610] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1143), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [611] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [612] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(811), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [613] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(794), }, { /* [614] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1145), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [615] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1154), }, { /* [616] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(820), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [617] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(803), }, { /* [618] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [619] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1156), }, { /* [620] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(829), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [621] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(812), }, { /* [622] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1143), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [623] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [624] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(838), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [625] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(821), }, { /* [626] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1145), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [627] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1154), }, { /* [628] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(847), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [629] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(830), }, { /* [630] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1139), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [631] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1156), }, { /* [632] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(856), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [633] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(839), }, { /* [634] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1143), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [635] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1136), }, { /* [636] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(865), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [637] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(848), }, { /* [638] */ - /* usage */ core::ParameterUsage::kTexel, - /* matcher_indices */ MatcherIndicesIndex(1145), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [639] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1154), }, { /* [640] */ - /* usage */ core::ParameterUsage::kBase, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [641] */ - /* usage */ core::ParameterUsage::kInsert, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(857), }, { /* [642] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [643] */ - /* usage */ core::ParameterUsage::kCount, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kTexel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1156), }, { /* [644] */ - /* usage */ core::ParameterUsage::kBase, - /* matcher_indices */ MatcherIndicesIndex(984), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [645] */ - /* usage */ core::ParameterUsage::kInsert, - /* matcher_indices */ MatcherIndicesIndex(984), + /* usage */ core::ParameterUsage::kBase, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [646] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kInsert, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [647] */ - /* usage */ core::ParameterUsage::kCount, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [648] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1070), + /* usage */ core::ParameterUsage::kCount, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [649] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kBase, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [650] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kInsert, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [651] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [652] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1074), + /* usage */ core::ParameterUsage::kCount, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [653] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1067), }, { /* [654] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [655] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [656] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1078), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [657] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1071), }, { /* [658] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [659] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [660] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1014), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [661] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1019), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1075), }, { /* [662] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1009), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [663] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [664] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1038), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [665] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1011), }, { /* [666] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(32), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1016), }, { /* [667] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(294), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1006), }, { /* [668] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(32), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [669] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1035), }, { /* [670] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(45), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [671] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [672] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(290), }, { /* [673] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(65), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), }, { /* [674] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [675] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(41), }, { /* [676] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(205), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [677] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(753), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [678] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(61), }, { /* [679] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(303), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [680] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(31), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [681] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(201), }, { /* [682] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(105), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1148), }, { /* [683] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [684] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(299), }, { /* [685] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(125), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1146), }, { /* [686] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(763), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [687] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(101), }, { /* [688] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(312), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [689] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(42), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [690] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(121), }, { /* [691] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(591), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1152), }, { /* [692] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [693] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(308), }, { /* [694] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(600), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1150), }, { /* [695] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [696] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(587), }, { /* [697] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(609), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [698] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [699] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(596), }, { /* [700] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(618), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [701] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [702] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(605), }, { /* [703] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(627), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [704] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [705] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(614), }, { /* [706] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(636), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [707] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [708] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(623), }, { /* [709] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(645), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [710] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [711] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(632), }, { /* [712] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(654), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), }, { /* [713] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [714] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(641), }, { /* [715] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(663), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [716] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [717] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(650), }, { /* [718] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(672), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [719] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(773), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [720] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(659), }, { /* [721] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(681), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [722] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(773), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [723] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(668), }, { /* [724] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(690), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1158), }, { /* [725] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(773), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [726] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(677), }, { /* [727] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(699), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1158), }, { /* [728] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(773), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [729] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(686), }, { /* [730] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(708), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1158), }, { /* [731] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(773), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [732] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(695), }, { /* [733] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(717), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1158), }, { /* [734] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(773), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [735] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(704), }, { /* [736] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(164), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1158), }, { /* [737] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(1097), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [738] */ - /* usage */ core::ParameterUsage::kImageOperands, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(713), }, { /* [739] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1035), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1158), }, { /* [740] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [741] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(160), }, { /* [742] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1035), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1094), }, { /* [743] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* usage */ core::ParameterUsage::kImageOperands, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [744] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1108), }, { /* [745] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1133), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [746] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1109), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [747] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1108), }, { /* [748] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [749] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1124), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [750] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1127), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1130), }, { /* [751] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1130), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1106), }, { /* [752] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(984), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [753] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(984), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [754] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(8), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1121), }, { /* [755] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(984), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1124), }, { /* [756] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(984), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1127), }, { /* [757] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(984), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [758] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1054), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [759] */ - /* usage */ core::ParameterUsage::kBase, + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [760] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [761] */ - /* usage */ core::ParameterUsage::kCount, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [762] */ - /* usage */ core::ParameterUsage::kBase, - /* matcher_indices */ MatcherIndicesIndex(984), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [763] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1051), }, { /* [764] */ - /* usage */ core::ParameterUsage::kCount, - /* matcher_indices */ MatcherIndicesIndex(1155), + /* usage */ core::ParameterUsage::kBase, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [765] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [766] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kCount, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [767] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kBase, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [768] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [769] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* usage */ core::ParameterUsage::kCount, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1012), }, { /* [770] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [771] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [772] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kId, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [773] */ - /* usage */ core::ParameterUsage::kDir, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [774] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [775] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* usage */ core::ParameterUsage::kId, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [776] */ - /* usage */ core::ParameterUsage::kDir, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [777] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [778] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kDir, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [779] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [780] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [781] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* usage */ core::ParameterUsage::kDir, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [782] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [783] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [784] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kId, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [785] */ - /* usage */ core::ParameterUsage::kMask, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [786] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [787] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* usage */ core::ParameterUsage::kId, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [788] */ - /* usage */ core::ParameterUsage::kMask, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [789] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [790] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kMask, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [791] */ - /* usage */ core::ParameterUsage::kDelta, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [792] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [793] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* usage */ core::ParameterUsage::kMask, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [794] */ - /* usage */ core::ParameterUsage::kDelta, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [795] */ - /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [796] */ - /* usage */ core::ParameterUsage::kGroupOperation, - /* matcher_indices */ MatcherIndicesIndex(628), - }, - { - /* [797] */ /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { - /* [798] */ + /* [796] */ + /* usage */ core::ParameterUsage::kDelta, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [797] */ /* usage */ core::ParameterUsage::kScope, - /* matcher_indices */ MatcherIndicesIndex(628), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), + }, + { + /* [798] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [799] */ - /* usage */ core::ParameterUsage::kGroupOperation, - /* matcher_indices */ MatcherIndicesIndex(628), + /* usage */ core::ParameterUsage::kDelta, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [800] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(1094), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [801] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1034), + /* usage */ core::ParameterUsage::kGroupOperation, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [802] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [803] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(474), + /* usage */ core::ParameterUsage::kScope, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [804] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kGroupOperation, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(624), }, { /* [805] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(483), + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1091), }, { /* [806] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1031), }, { /* [807] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(492), - }, - { - /* [808] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(21), - }, - { - /* [809] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(501), - }, - { - /* [810] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(21), - }, - { - /* [811] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(510), - }, - { - /* [812] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(21), - }, - { - /* [813] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(519), - }, - { - /* [814] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(21), - }, - { - /* [815] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(528), - }, - { - /* [816] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(21), - }, - { - /* [817] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(537), - }, - { - /* [818] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(32), - }, - { - /* [819] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(546), - }, - { - /* [820] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(32), - }, - { - /* [821] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(555), - }, - { - /* [822] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(32), - }, - { - /* [823] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(564), - }, - { - /* [824] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(32), - }, - { - /* [825] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(726), - }, - { - /* [826] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(20), - }, - { - /* [827] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1050), - }, - { - /* [828] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1054), - }, - { - /* [829] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1058), - }, - { - /* [830] */ /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(8), }, + { + /* [808] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(470), + }, + { + /* [809] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), + }, + { + /* [810] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(479), + }, + { + /* [811] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), + }, + { + /* [812] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(488), + }, + { + /* [813] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), + }, + { + /* [814] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(497), + }, + { + /* [815] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), + }, + { + /* [816] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(506), + }, + { + /* [817] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), + }, + { + /* [818] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(515), + }, + { + /* [819] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), + }, + { + /* [820] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(524), + }, + { + /* [821] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(48), + }, + { + /* [822] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(533), + }, + { + /* [823] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), + }, + { + /* [824] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(542), + }, + { + /* [825] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), + }, + { + /* [826] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(551), + }, + { + /* [827] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), + }, + { + /* [828] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(560), + }, + { + /* [829] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(108), + }, + { + /* [830] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(722), + }, { /* [831] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1058), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1140), }, { /* [832] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(984), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1047), }, { /* [833] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1106), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1051), }, { /* [834] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(990), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1055), }, { /* [835] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1115), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [836] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1118), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1055), }, { /* [837] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [838] */ - /* usage */ core::ParameterUsage::kI, - /* matcher_indices */ MatcherIndicesIndex(1062), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1103), }, { /* [839] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(984), - }, - { - /* [840] */ - /* usage */ core::ParameterUsage::kI, + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(982), }, + { + /* [840] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1112), + }, { /* [841] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(8), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1115), }, { /* [842] */ - /* usage */ core::ParameterUsage::kI, - /* matcher_indices */ MatcherIndicesIndex(1066), + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [843] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(1106), + /* usage */ core::ParameterUsage::kI, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1059), }, { /* [844] */ - /* usage */ core::ParameterUsage::kI, - /* matcher_indices */ MatcherIndicesIndex(988), + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(976), }, { /* [845] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1004), + /* usage */ core::ParameterUsage::kI, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(974), }, { /* [846] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1004), + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(8), }, { /* [847] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1024), + /* usage */ core::ParameterUsage::kI, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1063), }, { /* [848] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1024), + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1103), }, { /* [849] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1029), + /* usage */ core::ParameterUsage::kI, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(980), }, { /* [850] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1029), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1001), }, { /* [851] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(357), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1001), }, { /* [852] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(366), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1021), }, { /* [853] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(375), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1021), }, { /* [854] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(384), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1026), }, { /* [855] */ - /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(393), + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1026), }, { /* [856] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(402), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(353), }, { /* [857] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(411), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(362), }, { /* [858] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(420), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(371), }, { /* [859] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(429), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(380), }, { /* [860] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(438), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(389), }, { /* [861] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(447), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(398), }, { /* [862] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(456), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(407), }, { /* [863] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(465), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(416), }, { /* [864] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(573), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), }, { /* [865] */ /* usage */ core::ParameterUsage::kImage, - /* matcher_indices */ MatcherIndicesIndex(582), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(434), }, { /* [866] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1020), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(443), }, { /* [867] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1149), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(452), }, { /* [868] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1151), + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [869] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(569), + }, + { + /* [870] */ + /* usage */ core::ParameterUsage::kImage, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(578), + }, + { + /* [871] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(1153), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1162), + }, + { + /* [872] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1166), + }, + { + /* [873] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1168), + }, + { + /* [874] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(1170), }, }; @@ -6914,13 +7953,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [0] */ /* name */ "Z", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [1] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6956,7 +7995,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [7] */ /* name */ "Z", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -6974,31 +8013,31 @@ constexpr TemplateInfo kTemplates[] = { { /* [10] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { /* [11] */ /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [12] */ /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [13] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { /* [14] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7022,13 +8061,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [18] */ /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [19] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7052,13 +8091,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [23] */ /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [24] */ /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7082,25 +8121,25 @@ constexpr TemplateInfo kTemplates[] = { { /* [28] */ /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [29] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [30] */ /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [31] */ /* name */ "V", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7112,13 +8151,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [33] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1159), + /* matcher_indices */ MatcherIndicesIndex(1173), /* kind */ TemplateInfo::Kind::kType, }, { /* [34] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(999), + /* matcher_indices */ MatcherIndicesIndex(996), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7130,7 +8169,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [36] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1161), + /* matcher_indices */ MatcherIndicesIndex(1007), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7148,7 +8187,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [39] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(999), + /* matcher_indices */ MatcherIndicesIndex(996), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7160,7 +8199,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [41] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(782), + /* matcher_indices */ MatcherIndicesIndex(992), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7178,7 +8217,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [44] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(999), + /* matcher_indices */ MatcherIndicesIndex(996), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7190,7 +8229,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [46] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(998), + /* matcher_indices */ MatcherIndicesIndex(1028), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7208,13 +8247,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [49] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1160), + /* matcher_indices */ MatcherIndicesIndex(1174), /* kind */ TemplateInfo::Kind::kType, }, { /* [50] */ /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(1156), + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7238,7 +8277,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [54] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1161), + /* matcher_indices */ MatcherIndicesIndex(1007), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7298,13 +8337,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [64] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [65] */ /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7328,13 +8367,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [69] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1162), + /* matcher_indices */ MatcherIndicesIndex(1175), /* kind */ TemplateInfo::Kind::kType, }, { /* [70] */ /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(1163), + /* matcher_indices */ MatcherIndicesIndex(1176), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7358,19 +8397,19 @@ constexpr TemplateInfo kTemplates[] = { { /* [74] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { /* [75] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [76] */ /* name */ "Z", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7382,13 +8421,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [78] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { /* [79] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7400,13 +8439,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [81] */ /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [82] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7424,7 +8463,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [85] */ /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7448,13 +8487,13 @@ constexpr TemplateInfo kTemplates[] = { { /* [89] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { /* [90] */ /* name */ "Z", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7472,37 +8511,37 @@ constexpr TemplateInfo kTemplates[] = { { /* [93] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [94] */ /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(628), + /* matcher_indices */ MatcherIndicesIndex(624), /* kind */ TemplateInfo::Kind::kType, }, { /* [95] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(2), + /* matcher_indices */ MatcherIndicesIndex(1028), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [96] */ /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(928), + /* matcher_indices */ MatcherIndicesIndex(920), /* kind */ TemplateInfo::Kind::kType, }, { /* [97] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { /* [98] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1158), + /* matcher_indices */ MatcherIndicesIndex(1172), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7514,20 +8553,20 @@ constexpr TemplateInfo kTemplates[] = { { /* [100] */ /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(937), + /* matcher_indices */ MatcherIndicesIndex(920), /* kind */ TemplateInfo::Kind::kType, }, { /* [101] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(2), /* kind */ TemplateInfo::Kind::kType, }, { /* [102] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1158), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(994), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [103] */ @@ -7538,19 +8577,19 @@ constexpr TemplateInfo kTemplates[] = { { /* [104] */ /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(946), + /* matcher_indices */ MatcherIndicesIndex(929), /* kind */ TemplateInfo::Kind::kType, }, { /* [105] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { /* [106] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1158), + /* matcher_indices */ MatcherIndicesIndex(1172), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7562,20 +8601,20 @@ constexpr TemplateInfo kTemplates[] = { { /* [108] */ /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(955), + /* matcher_indices */ MatcherIndicesIndex(929), /* kind */ TemplateInfo::Kind::kType, }, { /* [109] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(2), /* kind */ TemplateInfo::Kind::kType, }, { /* [110] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1158), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(994), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [111] */ @@ -7585,224 +8624,224 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [112] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(938), /* kind */ TemplateInfo::Kind::kType, }, { /* [113] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1017), + /* kind */ TemplateInfo::Kind::kType, }, { /* [114] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(1172), + /* kind */ TemplateInfo::Kind::kType, }, { /* [115] */ - /* name */ "R", + /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [116] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(938), /* kind */ TemplateInfo::Kind::kType, }, { /* [117] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(2), /* kind */ TemplateInfo::Kind::kType, }, { /* [118] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(994), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [119] */ - /* name */ "N", + /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [120] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(947), /* kind */ TemplateInfo::Kind::kType, }, { /* [121] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { /* [122] */ - /* name */ "N", + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(1172), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [123] */ + /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, - { - /* [123] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1160), - /* kind */ TemplateInfo::Kind::kNumber, - }, { /* [124] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(947), /* kind */ TemplateInfo::Kind::kType, }, { /* [125] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(2), /* kind */ TemplateInfo::Kind::kType, }, { /* [126] */ - /* name */ "B", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(994), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [127] */ - /* name */ "N", + /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [128] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { /* [129] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [130] */ - /* name */ "F", + /* name */ "C", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [131] */ - /* name */ "A", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [132] */ /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [133] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, }, { /* [134] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, }, { /* [135] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(610), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [136] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(9), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [137] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [138] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(628), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [139] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(9), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [140] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [141] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(782), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [142] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(9), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [143] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [144] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [145] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [146] */ /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [147] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(874), + /* [136] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { - /* [148] */ + /* [137] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [138] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [139] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(1138), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [140] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [141] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [142] */ + /* name */ "B", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [143] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [144] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), + /* matcher_indices */ MatcherIndicesIndex(1017), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [145] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [146] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [147] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [148] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7813,68 +8852,68 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [150] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(883), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [151] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(738), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [152] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(9), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [153] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(892), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [154] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(756), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [155] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(9), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [156] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(901), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [157] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1157), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(774), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [158] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(9), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [159] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(964), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [160] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1158), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1017), /* kind */ TemplateInfo::Kind::kType, }, { @@ -7885,122 +8924,122 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [162] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(973), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [163] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1158), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(866), /* kind */ TemplateInfo::Kind::kType, }, { /* [164] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1017), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [165] */ /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, - { - /* [165] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), - /* kind */ TemplateInfo::Kind::kType, - }, { /* [166] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(875), + /* kind */ TemplateInfo::Kind::kType, }, { /* [167] */ - /* name */ "M", + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1017), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [168] */ + /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, - { - /* [168] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, - }, { /* [169] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(884), /* kind */ TemplateInfo::Kind::kType, }, { /* [170] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1017), + /* kind */ TemplateInfo::Kind::kType, }, { /* [171] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [172] */ - /* name */ "N", + /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [173] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1160), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [174] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), + /* [172] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(893), /* kind */ TemplateInfo::Kind::kType, }, + { + /* [173] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1017), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [174] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, { /* [175] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(956), /* kind */ TemplateInfo::Kind::kType, }, { /* [176] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1160), - /* kind */ TemplateInfo::Kind::kNumber, + /* matcher_indices */ MatcherIndicesIndex(1172), + /* kind */ TemplateInfo::Kind::kType, }, { /* [177] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [178] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [179] */ - /* name */ "N", + /* name */ "F", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [180] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1156), + /* [178] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(965), /* kind */ TemplateInfo::Kind::kType, }, + { + /* [179] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(1172), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [180] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, { /* [181] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { @@ -8011,92 +9050,188 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [183] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(1155), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "M", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [184] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(1155), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { /* [185] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [186] */ /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [186] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(628), + /* [187] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { - /* [187] */ - /* name */ "A", + /* [188] */ + /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, - { - /* [188] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(910), - /* kind */ TemplateInfo::Kind::kType, - }, { /* [189] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(1138), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [190] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(919), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { /* [191] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [192] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(1156), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(1012), /* kind */ TemplateInfo::Kind::kType, }, { - /* [193] */ + /* [192] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1160), + /* matcher_indices */ MatcherIndicesIndex(1138), /* kind */ TemplateInfo::Kind::kNumber, }, + { + /* [193] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, { /* [194] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(782), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { /* [195] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(610), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [196] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(998), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(359), /* kind */ TemplateInfo::Kind::kType, }, { /* [197] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(628), + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [198] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [199] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [200] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(1012), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [201] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [202] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(624), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [203] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [204] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(902), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [205] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [206] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(911), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [207] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [208] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(359), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [209] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(1138), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [210] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(992), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [211] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(606), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [212] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(1028), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [213] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(624), /* kind */ TemplateInfo::Kind::kType, }, }; @@ -8112,8 +9247,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(504), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(509), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8122,9 +9257,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(144), - /* parameters */ ParameterIndex(736), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(741), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8133,9 +9268,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(144), - /* parameters */ ParameterIndex(164), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8144,9 +9279,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(144), - /* parameters */ ParameterIndex(416), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8156,8 +9291,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(119), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(117), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8167,8 +9302,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(420), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(425), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8178,8 +9313,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(174), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(172), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8189,8 +9324,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(177), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8200,8 +9335,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(424), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(429), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8211,8 +9346,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(428), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(433), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8222,8 +9357,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(432), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(437), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8233,8 +9368,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(436), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(441), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8244,8 +9379,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(124), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(122), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8255,8 +9390,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(129), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(127), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8266,8 +9401,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(194), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(192), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8277,8 +9412,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(199), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(197), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8288,8 +9423,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(440), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(445), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8299,8 +9434,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(444), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(449), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8310,8 +9445,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(134), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8321,8 +9456,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(137), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8332,8 +9467,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(448), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(453), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8343,8 +9478,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(457), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8354,8 +9489,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(214), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(212), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8365,8 +9500,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(217), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8376,8 +9511,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(456), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(461), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8387,8 +9522,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(460), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(465), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8398,8 +9533,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(224), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(222), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8409,8 +9544,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(464), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(469), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8420,8 +9555,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(8), - /* parameters */ ParameterIndex(540), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(545), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8431,8 +9566,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(473), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8442,8 +9577,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(552), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(557), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8453,8 +9588,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(556), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(561), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8464,8 +9599,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(544), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(549), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8475,8 +9610,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(548), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(553), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8486,8 +9621,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(472), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(477), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8497,8 +9632,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(476), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(481), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8508,8 +9643,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(560), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(565), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8518,9 +9653,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(144), - /* parameters */ ParameterIndex(504), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(509), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8529,9 +9664,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(144), - /* parameters */ ParameterIndex(508), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(513), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8540,9 +9675,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(144), - /* parameters */ ParameterIndex(164), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8552,8 +9687,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(169), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(167), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8563,8 +9698,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(15), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8574,8 +9709,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(512), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(517), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8585,8 +9720,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(516), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(521), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8596,8 +9731,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(174), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(172), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8607,8 +9742,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(177), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8618,8 +9753,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(184), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(182), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8629,8 +9764,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(189), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(187), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8640,8 +9775,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(23), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(21), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8651,8 +9786,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(29), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8662,8 +9797,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(520), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(525), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8673,8 +9808,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(524), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(529), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8684,8 +9819,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(194), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(192), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8695,8 +9830,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(199), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(197), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8706,8 +9841,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(204), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(202), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8717,8 +9852,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(209), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(207), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8728,8 +9863,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(35), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(33), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8739,8 +9874,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(41), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(39), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8750,8 +9885,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(528), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(533), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8761,8 +9896,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(532), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(537), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8772,8 +9907,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(214), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(212), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8783,8 +9918,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(217), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8794,8 +9929,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(536), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(541), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8805,8 +9940,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(224), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(222), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8816,8 +9951,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(8), - /* parameters */ ParameterIndex(540), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(545), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8827,8 +9962,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(229), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(227), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8838,8 +9973,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(544), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(549), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8849,8 +9984,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(548), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(553), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8860,8 +9995,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(234), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(232), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8871,8 +10006,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(239), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(237), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8882,8 +10017,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(552), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(557), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8893,8 +10028,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(556), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(561), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8904,8 +10039,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(560), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(565), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8914,9 +10049,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(144), - /* parameters */ ParameterIndex(736), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(741), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8926,8 +10061,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(244), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(242), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8937,8 +10072,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(249), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(247), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8948,8 +10083,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(480), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(485), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8959,8 +10094,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(484), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(489), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8970,8 +10105,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(144), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(142), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8981,8 +10116,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(149), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(147), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -8992,8 +10127,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(493), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9003,8 +10138,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(492), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(497), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9014,8 +10149,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(199), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(197), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9025,8 +10160,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(444), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(449), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9036,8 +10171,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(137), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9047,8 +10182,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(457), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9058,8 +10193,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(572), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(577), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9069,8 +10204,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(576), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(581), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9080,8 +10215,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(496), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(501), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9091,8 +10226,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(500), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(505), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9102,8 +10237,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(564), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(569), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9113,8 +10248,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(568), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(573), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9124,8 +10259,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(244), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(242), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9135,8 +10270,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(249), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(247), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9146,8 +10281,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(254), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(252), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9157,8 +10292,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(259), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(257), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9168,8 +10303,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(47), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(45), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9179,8 +10314,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(53), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(51), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9190,8 +10325,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(524), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(529), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9201,8 +10336,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(199), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(197), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9212,8 +10347,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(209), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(207), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9223,8 +10358,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(89), - /* parameters */ ParameterIndex(41), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(39), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9234,8 +10369,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(82), - /* parameters */ ParameterIndex(532), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(537), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9245,8 +10380,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(572), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(577), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9256,8 +10391,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(576), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(581), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9267,8 +10402,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(264), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(262), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9278,8 +10413,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(269), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(267), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9288,9 +10423,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(667), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(672), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9299,9 +10434,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(670), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(675), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9310,9 +10445,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(673), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(678), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9321,9 +10456,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(676), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(681), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9332,9 +10467,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(679), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(684), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9343,9 +10478,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(682), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(687), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9354,9 +10489,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(685), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(690), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9365,9 +10500,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(688), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(693), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9377,8 +10512,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(352), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* parameters */ ParameterIndex(357), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9388,8 +10523,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(356), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* parameters */ ParameterIndex(361), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9399,8 +10534,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(360), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* parameters */ ParameterIndex(365), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9410,8 +10545,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(364), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* parameters */ ParameterIndex(369), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9421,8 +10556,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(368), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* parameters */ ParameterIndex(373), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9432,8 +10567,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(372), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(377), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9443,8 +10578,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(376), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(381), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9454,8 +10589,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(380), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(385), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9464,9 +10599,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(135), - /* parameters */ ParameterIndex(691), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(151), + /* parameters */ ParameterIndex(696), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9475,9 +10610,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(135), - /* parameters */ ParameterIndex(694), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(151), + /* parameters */ ParameterIndex(699), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9486,9 +10621,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(138), - /* parameters */ ParameterIndex(697), - /* return_matcher_indices */ MatcherIndicesIndex(1143), + /* templates */ TemplateIndex(154), + /* parameters */ ParameterIndex(702), + /* return_matcher_indices */ MatcherIndicesIndex(1154), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9497,9 +10632,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(138), - /* parameters */ ParameterIndex(700), - /* return_matcher_indices */ MatcherIndicesIndex(1143), + /* templates */ TemplateIndex(154), + /* parameters */ ParameterIndex(705), + /* return_matcher_indices */ MatcherIndicesIndex(1154), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9508,9 +10643,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(141), - /* parameters */ ParameterIndex(703), - /* return_matcher_indices */ MatcherIndicesIndex(1145), + /* templates */ TemplateIndex(157), + /* parameters */ ParameterIndex(708), + /* return_matcher_indices */ MatcherIndicesIndex(1156), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9519,9 +10654,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(141), - /* parameters */ ParameterIndex(706), - /* return_matcher_indices */ MatcherIndicesIndex(1145), + /* templates */ TemplateIndex(157), + /* parameters */ ParameterIndex(711), + /* return_matcher_indices */ MatcherIndicesIndex(1156), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9530,9 +10665,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(135), - /* parameters */ ParameterIndex(709), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(151), + /* parameters */ ParameterIndex(714), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9541,9 +10676,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(138), - /* parameters */ ParameterIndex(712), - /* return_matcher_indices */ MatcherIndicesIndex(1143), + /* templates */ TemplateIndex(154), + /* parameters */ ParameterIndex(717), + /* return_matcher_indices */ MatcherIndicesIndex(1154), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9552,9 +10687,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(141), - /* parameters */ ParameterIndex(715), - /* return_matcher_indices */ MatcherIndicesIndex(1145), + /* templates */ TemplateIndex(157), + /* parameters */ ParameterIndex(720), + /* return_matcher_indices */ MatcherIndicesIndex(1156), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9563,9 +10698,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(135), - /* parameters */ ParameterIndex(718), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(151), + /* parameters */ ParameterIndex(723), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9574,9 +10709,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(138), - /* parameters */ ParameterIndex(721), - /* return_matcher_indices */ MatcherIndicesIndex(1143), + /* templates */ TemplateIndex(154), + /* parameters */ ParameterIndex(726), + /* return_matcher_indices */ MatcherIndicesIndex(1154), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9585,9 +10720,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(141), - /* parameters */ ParameterIndex(724), - /* return_matcher_indices */ MatcherIndicesIndex(1145), + /* templates */ TemplateIndex(157), + /* parameters */ ParameterIndex(729), + /* return_matcher_indices */ MatcherIndicesIndex(1156), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9596,9 +10731,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(135), - /* parameters */ ParameterIndex(727), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(151), + /* parameters */ ParameterIndex(732), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9607,9 +10742,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(138), - /* parameters */ ParameterIndex(730), - /* return_matcher_indices */ MatcherIndicesIndex(1143), + /* templates */ TemplateIndex(154), + /* parameters */ ParameterIndex(735), + /* return_matcher_indices */ MatcherIndicesIndex(1154), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9618,9 +10753,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(141), - /* parameters */ ParameterIndex(733), - /* return_matcher_indices */ MatcherIndicesIndex(1145), + /* templates */ TemplateIndex(157), + /* parameters */ ParameterIndex(738), + /* return_matcher_indices */ MatcherIndicesIndex(1156), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9630,8 +10765,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(77), - /* parameters */ ParameterIndex(825), - /* return_matcher_indices */ MatcherIndicesIndex(1147), + /* parameters */ ParameterIndex(830), + /* return_matcher_indices */ MatcherIndicesIndex(1160), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9640,8 +10775,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(580), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(585), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9651,8 +10786,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(584), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(589), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9662,8 +10797,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(588), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(593), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9673,8 +10808,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(592), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(597), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9684,8 +10819,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(596), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(601), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9695,8 +10830,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(600), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(605), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9706,8 +10841,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(604), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(609), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9717,8 +10852,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(608), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(613), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9728,8 +10863,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(612), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(617), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9739,8 +10874,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(616), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(621), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9750,8 +10885,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(620), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(625), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9761,8 +10896,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(624), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(629), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9772,8 +10907,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(628), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(633), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9783,8 +10918,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(632), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(637), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9794,8 +10929,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(636), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(641), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9806,7 +10941,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(851), + /* parameters */ ParameterIndex(856), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9817,7 +10952,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(852), + /* parameters */ ParameterIndex(857), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -9828,8 +10963,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(853), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(858), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9839,8 +10974,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(854), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(859), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9850,8 +10985,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(855), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(860), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9861,8 +10996,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(856), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(861), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9872,8 +11007,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(81), - /* parameters */ ParameterIndex(857), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(862), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9883,8 +11018,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 5, /* templates */ TemplateIndex(18), - /* parameters */ ParameterIndex(858), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(863), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9893,9 +11028,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(132), - /* parameters */ ParameterIndex(859), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* templates */ TemplateIndex(148), + /* parameters */ ParameterIndex(864), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9904,9 +11039,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(132), - /* parameters */ ParameterIndex(860), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* templates */ TemplateIndex(148), + /* parameters */ ParameterIndex(865), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9915,9 +11050,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(132), - /* parameters */ ParameterIndex(861), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* templates */ TemplateIndex(148), + /* parameters */ ParameterIndex(866), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9926,9 +11061,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(132), - /* parameters */ ParameterIndex(862), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* templates */ TemplateIndex(148), + /* parameters */ ParameterIndex(867), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9938,8 +11073,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 4, /* templates */ TemplateIndex(85), - /* parameters */ ParameterIndex(863), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(868), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9948,9 +11083,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(384), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(389), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9960,8 +11095,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(99), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* parameters */ ParameterIndex(97), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9970,9 +11105,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(388), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(393), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9982,8 +11117,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(74), - /* parameters */ ParameterIndex(104), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* parameters */ ParameterIndex(102), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -9992,9 +11127,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(392), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(397), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10003,9 +11138,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(128), - /* parameters */ ParameterIndex(396), - /* return_matcher_indices */ MatcherIndicesIndex(1141), + /* templates */ TemplateIndex(144), + /* parameters */ ParameterIndex(401), + /* return_matcher_indices */ MatcherIndicesIndex(1144), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10014,9 +11149,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(400), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(405), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10026,8 +11161,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(109), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(107), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10036,9 +11171,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(404), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(409), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10048,8 +11183,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(75), - /* parameters */ ParameterIndex(114), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(112), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10058,9 +11193,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(408), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(413), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10069,9 +11204,9 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(129), - /* parameters */ ParameterIndex(412), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(417), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10081,7 +11216,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 6, /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(803), + /* parameters */ ParameterIndex(808), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10092,7 +11227,7 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 6, /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(805), + /* parameters */ ParameterIndex(810), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10103,8 +11238,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 6, /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(807), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(812), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10114,8 +11249,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 6, /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(809), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(814), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10125,8 +11260,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 6, /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(811), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(816), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10136,8 +11271,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 6, /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(813), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(818), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10147,8 +11282,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 6, /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(815), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(820), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10158,8 +11293,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 5, /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(817), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(822), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10169,8 +11304,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 5, /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(819), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(824), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10180,8 +11315,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 5, /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(821), - /* return_matcher_indices */ MatcherIndicesIndex(42), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(1150), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10191,128 +11326,128 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 1, /* num_templates */ 5, /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(823), - /* return_matcher_indices */ MatcherIndicesIndex(763), + /* parameters */ ParameterIndex(828), + /* return_matcher_indices */ MatcherIndicesIndex(1152), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [190] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(8), - /* parameters */ ParameterIndex(299), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(96), + /* parameters */ ParameterIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [191] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(13), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [192] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [193] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(309), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(13), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [194] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(289), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [195] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(294), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(13), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [196] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(314), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(6), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [197] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(319), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(13), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [198] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(324), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(175), + /* parameters */ ParameterIndex(345), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [199] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(8), - /* parameters */ ParameterIndex(299), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(345), + /* return_matcher_indices */ MatcherIndicesIndex(1162), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [200] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 6, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(71), + /* num_templates */ 2, + /* templates */ TemplateIndex(8), + /* parameters */ ParameterIndex(297), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10321,42 +11456,42 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(304), + /* num_templates */ 3, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(282), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [202] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(309), + /* parameters */ ParameterIndex(92), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [203] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 6, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(77), + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(307), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [204] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 6, + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(83), + /* parameters */ ParameterIndex(287), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10365,31 +11500,31 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(314), + /* num_templates */ 2, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(292), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [206] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(319), + /* parameters */ ParameterIndex(312), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [207] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(324), + /* parameters */ ParameterIndex(317), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, @@ -10400,8 +11535,8 @@ constexpr OverloadInfo kOverloads[] = { /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(322), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10409,21 +11544,21 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* num_templates */ 2, + /* templates */ TemplateIndex(8), + /* parameters */ ParameterIndex(297), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [210] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* num_templates */ 3, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(69), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10431,465 +11566,542 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, + /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(302), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [212] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(314), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* parameters */ ParameterIndex(307), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [213] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(324), - /* return_matcher_indices */ MatcherIndicesIndex(1139), + /* num_templates */ 2, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(75), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [214] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(147), - /* parameters */ ParameterIndex(866), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(81), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [215] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(150), - /* parameters */ ParameterIndex(866), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(312), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [216] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(153), - /* parameters */ ParameterIndex(866), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(317), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [217] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(156), - /* parameters */ ParameterIndex(866), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(322), + /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [218] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(188), - /* parameters */ ParameterIndex(866), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(87), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [219] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(190), - /* parameters */ ParameterIndex(866), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(87), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [220] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(6), - /* return_matcher_indices */ MatcherIndicesIndex(1020), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(92), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [221] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(6), - /* return_matcher_indices */ MatcherIndicesIndex(1020), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(92), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [222] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(104), - /* parameters */ ParameterIndex(6), - /* return_matcher_indices */ MatcherIndicesIndex(1020), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(312), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [223] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(6), - /* return_matcher_indices */ MatcherIndicesIndex(1020), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(322), + /* return_matcher_indices */ MatcherIndicesIndex(1136), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [224] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(159), - /* parameters */ ParameterIndex(13), - /* return_matcher_indices */ MatcherIndicesIndex(1020), + /* templates */ TemplateIndex(163), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [225] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(162), - /* parameters */ ParameterIndex(13), - /* return_matcher_indices */ MatcherIndicesIndex(1020), + /* templates */ TemplateIndex(166), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [226] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(274), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(169), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [227] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(172), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [228] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(154), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* templates */ TemplateIndex(204), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [229] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(159), - /* return_matcher_indices */ MatcherIndicesIndex(2), + /* templates */ TemplateIndex(206), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [230] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(274), + /* parameters */ ParameterIndex(272), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [231] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(5), - /* parameters */ ParameterIndex(279), + /* parameters */ ParameterIndex(277), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [232] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 6, + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(59), + /* parameters */ ParameterIndex(152), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [233] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 6, + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(65), + /* parameters */ ParameterIndex(157), /* return_matcher_indices */ MatcherIndicesIndex(2), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [234] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(272), + /* return_matcher_indices */ MatcherIndicesIndex(2), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [235] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(5), + /* parameters */ ParameterIndex(277), + /* return_matcher_indices */ MatcherIndicesIndex(2), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [236] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(57), + /* return_matcher_indices */ MatcherIndicesIndex(2), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [237] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(63), + /* return_matcher_indices */ MatcherIndicesIndex(2), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [238] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 5, /* templates */ TemplateIndex(49), - /* parameters */ ParameterIndex(660), - /* return_matcher_indices */ MatcherIndicesIndex(1009), + /* parameters */ ParameterIndex(665), + /* return_matcher_indices */ MatcherIndicesIndex(1006), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [235] */ + /* [239] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 5, /* templates */ TemplateIndex(57), - /* parameters */ ParameterIndex(660), - /* return_matcher_indices */ MatcherIndicesIndex(1009), + /* parameters */ ParameterIndex(665), + /* return_matcher_indices */ MatcherIndicesIndex(1006), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [236] */ + /* [240] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 5, /* templates */ TemplateIndex(64), - /* parameters */ ParameterIndex(660), - /* return_matcher_indices */ MatcherIndicesIndex(1009), + /* parameters */ ParameterIndex(665), + /* return_matcher_indices */ MatcherIndicesIndex(1006), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [237] */ + /* [241] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 5, /* templates */ TemplateIndex(69), - /* parameters */ ParameterIndex(660), - /* return_matcher_indices */ MatcherIndicesIndex(1009), + /* parameters */ ParameterIndex(665), + /* return_matcher_indices */ MatcherIndicesIndex(1006), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [238] */ + /* [242] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(93), + /* parameters */ ParameterIndex(342), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [243] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(93), + /* parameters */ ParameterIndex(349), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [244] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(353), + /* return_matcher_indices */ MatcherIndicesIndex(994), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [245] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(739), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [239] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(742), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [240] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(746), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [241] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(867), - /* return_matcher_indices */ MatcherIndicesIndex(1149), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [242] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(868), - /* return_matcher_indices */ MatcherIndicesIndex(1151), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [243] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(869), - /* return_matcher_indices */ MatcherIndicesIndex(1153), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [244] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(34), - /* parameters */ ParameterIndex(648), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [245] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(652), + /* parameters */ ParameterIndex(744), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [246] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(747), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [247] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(751), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [248] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(10), + /* parameters */ ParameterIndex(872), + /* return_matcher_indices */ MatcherIndicesIndex(1166), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [249] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(10), + /* parameters */ ParameterIndex(873), + /* return_matcher_indices */ MatcherIndicesIndex(1168), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [250] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(10), + /* parameters */ ParameterIndex(874), + /* return_matcher_indices */ MatcherIndicesIndex(1170), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [251] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(34), + /* parameters */ ParameterIndex(653), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [252] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(39), + /* parameters */ ParameterIndex(657), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [253] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 4, /* num_explicit_templates */ 1, /* num_templates */ 5, /* templates */ TemplateIndex(44), - /* parameters */ ParameterIndex(656), + /* parameters */ ParameterIndex(661), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [247] */ + /* [254] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(35), - /* parameters */ ParameterIndex(329), + /* parameters */ ParameterIndex(327), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [248] */ + /* [255] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(40), - /* parameters */ ParameterIndex(334), + /* parameters */ ParameterIndex(332), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [249] */ + /* [256] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(45), - /* parameters */ ParameterIndex(339), + /* parameters */ ParameterIndex(337), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [250] */ + /* [257] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 4, /* templates */ TemplateIndex(53), - /* parameters */ ParameterIndex(845), - /* return_matcher_indices */ MatcherIndicesIndex(1004), + /* parameters */ ParameterIndex(850), + /* return_matcher_indices */ MatcherIndicesIndex(1001), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [251] */ + /* [258] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(61), - /* parameters */ ParameterIndex(847), - /* return_matcher_indices */ MatcherIndicesIndex(1024), + /* parameters */ ParameterIndex(852), + /* return_matcher_indices */ MatcherIndicesIndex(1021), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [252] */ + /* [259] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(61), - /* parameters */ ParameterIndex(849), - /* return_matcher_indices */ MatcherIndicesIndex(1029), + /* parameters */ ParameterIndex(854), + /* return_matcher_indices */ MatcherIndicesIndex(1026), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [253] */ + /* [260] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, @@ -10900,62 +12112,40 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [254] */ + /* [261] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(93), - /* parameters */ ParameterIndex(664), + /* parameters */ ParameterIndex(669), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [255] */ + /* [262] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(93), - /* parameters */ ParameterIndex(344), + /* parameters */ ParameterIndex(342), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [256] */ + /* [263] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, /* templates */ TemplateIndex(93), - /* parameters */ ParameterIndex(348), + /* parameters */ ParameterIndex(349), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [257] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(93), - /* parameters */ ParameterIndex(344), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [258] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(93), - /* parameters */ ParameterIndex(348), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [259] */ + /* [264] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 6, /* num_explicit_templates */ 0, @@ -10966,7 +12156,7 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [260] */ + /* [265] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 6, /* num_explicit_templates */ 0, @@ -10977,7 +12167,7 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [261] */ + /* [266] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, @@ -10988,18 +12178,18 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [262] */ + /* [267] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, /* templates */ TemplateIndex(9), - /* parameters */ ParameterIndex(743), - /* return_matcher_indices */ MatcherIndicesIndex(1094), + /* parameters */ ParameterIndex(748), + /* return_matcher_indices */ MatcherIndicesIndex(1091), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [263] */ + /* [268] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 1, @@ -11010,113 +12200,58 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [264] */ + /* [269] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(168), - /* parameters */ ParameterIndex(834), - /* return_matcher_indices */ MatcherIndicesIndex(1106), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [265] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(14), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [266] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(116), - /* parameters */ ParameterIndex(835), - /* return_matcher_indices */ MatcherIndicesIndex(1112), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [267] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(14), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [268] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(28), - /* parameters */ ParameterIndex(749), - /* return_matcher_indices */ MatcherIndicesIndex(1121), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [269] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(4), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* templates */ TemplateIndex(184), + /* parameters */ ParameterIndex(839), + /* return_matcher_indices */ MatcherIndicesIndex(1103), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [270] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(752), - /* return_matcher_indices */ MatcherIndicesIndex(984), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(346), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [271] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(4), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(132), + /* parameters */ ParameterIndex(840), + /* return_matcher_indices */ MatcherIndicesIndex(1109), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [272] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(752), - /* return_matcher_indices */ MatcherIndicesIndex(984), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(346), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [273] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(4), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(754), + /* return_matcher_indices */ MatcherIndicesIndex(1118), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11124,21 +12259,21 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(755), - /* return_matcher_indices */ MatcherIndicesIndex(984), + /* num_templates */ 1, + /* templates */ TemplateIndex(10), + /* parameters */ ParameterIndex(4), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [275] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(10), - /* parameters */ ParameterIndex(13), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(757), + /* return_matcher_indices */ MatcherIndicesIndex(976), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11146,10 +12281,10 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(9), - /* parameters */ ParameterIndex(744), - /* return_matcher_indices */ MatcherIndicesIndex(1094), + /* num_templates */ 1, + /* templates */ TemplateIndex(10), + /* parameters */ ParameterIndex(4), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11158,31 +12293,31 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(192), - /* parameters */ ParameterIndex(837), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(757), + /* return_matcher_indices */ MatcherIndicesIndex(976), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [278] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(171), - /* parameters */ ParameterIndex(839), - /* return_matcher_indices */ MatcherIndicesIndex(984), + /* num_templates */ 1, + /* templates */ TemplateIndex(10), + /* parameters */ ParameterIndex(4), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [279] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(174), - /* parameters */ ParameterIndex(841), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_templates */ 2, + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(760), + /* return_matcher_indices */ MatcherIndicesIndex(976), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11190,153 +12325,153 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(120), - /* parameters */ ParameterIndex(843), - /* return_matcher_indices */ MatcherIndicesIndex(1106), + /* num_templates */ 2, + /* templates */ TemplateIndex(10), + /* parameters */ ParameterIndex(345), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [281] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(29), - /* parameters */ ParameterIndex(640), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_templates */ 3, + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(749), + /* return_matcher_indices */ MatcherIndicesIndex(1091), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [282] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(644), - /* return_matcher_indices */ MatcherIndicesIndex(984), + /* templates */ TemplateIndex(208), + /* parameters */ ParameterIndex(842), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [283] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(29), - /* parameters */ ParameterIndex(759), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_templates */ 3, + /* templates */ TemplateIndex(187), + /* parameters */ ParameterIndex(844), + /* return_matcher_indices */ MatcherIndicesIndex(976), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [284] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(762), - /* return_matcher_indices */ MatcherIndicesIndex(984), + /* num_templates */ 3, + /* templates */ TemplateIndex(190), + /* parameters */ ParameterIndex(846), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [285] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(124), - /* parameters */ ParameterIndex(14), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(136), + /* parameters */ ParameterIndex(848), + /* return_matcher_indices */ MatcherIndicesIndex(1103), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [286] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(124), - /* parameters */ ParameterIndex(835), - /* return_matcher_indices */ MatcherIndicesIndex(1112), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(29), + /* parameters */ ParameterIndex(645), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [287] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(125), - /* parameters */ ParameterIndex(13), - /* return_matcher_indices */ MatcherIndicesIndex(1035), + /* templates */ TemplateIndex(185), + /* parameters */ ParameterIndex(649), + /* return_matcher_indices */ MatcherIndicesIndex(976), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [288] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(125), - /* parameters */ ParameterIndex(833), - /* return_matcher_indices */ MatcherIndicesIndex(1136), + /* num_templates */ 1, + /* templates */ TemplateIndex(29), + /* parameters */ ParameterIndex(764), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [289] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* num_parameters */ 3, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(177), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* templates */ TemplateIndex(185), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(976), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [290] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 1, /* num_templates */ 3, - /* templates */ TemplateIndex(177), - /* parameters */ ParameterIndex(834), - /* return_matcher_indices */ MatcherIndicesIndex(1106), + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(346), + /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [291] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(180), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_templates */ 4, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(840), + /* return_matcher_indices */ MatcherIndicesIndex(1109), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [292] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(180), - /* parameters */ ParameterIndex(834), - /* return_matcher_indices */ MatcherIndicesIndex(1106), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(141), + /* parameters */ ParameterIndex(345), + /* return_matcher_indices */ MatcherIndicesIndex(1108), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [293] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(124), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(8), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(141), + /* parameters */ ParameterIndex(838), + /* return_matcher_indices */ MatcherIndicesIndex(1133), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -11344,289 +12479,25 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(183), - /* parameters */ ParameterIndex(834), - /* return_matcher_indices */ MatcherIndicesIndex(1106), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [295] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(765), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [296] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(768), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [297] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(777), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [298] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(780), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [299] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(771), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [300] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(774), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [301] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(777), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [302] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(780), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [303] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(783), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [304] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(786), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [305] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(789), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [306] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(32), - /* parameters */ ParameterIndex(792), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [307] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(29), - /* parameters */ ParameterIndex(795), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [308] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(798), - /* return_matcher_indices */ MatcherIndicesIndex(1094), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [309] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(186), - /* parameters */ ParameterIndex(801), - /* return_matcher_indices */ MatcherIndicesIndex(628), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [310] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(93), - /* parameters */ ParameterIndex(8), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [311] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(9), - /* parameters */ ParameterIndex(743), - /* return_matcher_indices */ MatcherIndicesIndex(32), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [312] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 7, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(864), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [313] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 7, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(865), - /* return_matcher_indices */ MatcherIndicesIndex(8), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [314] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(112), - /* parameters */ ParameterIndex(827), - /* return_matcher_indices */ MatcherIndicesIndex(1046), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [315] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(829), - /* return_matcher_indices */ MatcherIndicesIndex(1058), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [316] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(831), - /* return_matcher_indices */ MatcherIndicesIndex(1106), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [317] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(757), - /* return_matcher_indices */ MatcherIndicesIndex(1106), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [318] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(753), - /* return_matcher_indices */ MatcherIndicesIndex(984), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [319] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(194), + /* templates */ TemplateIndex(193), /* parameters */ ParameterIndex(1), /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [320] */ + /* [295] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(193), + /* parameters */ ParameterIndex(839), + /* return_matcher_indices */ MatcherIndicesIndex(1103), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [296] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 1, @@ -11636,37 +12507,356 @@ constexpr OverloadInfo kOverloads[] = { /* return_matcher_indices */ MatcherIndicesIndex(8), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, + { + /* [297] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(196), + /* parameters */ ParameterIndex(839), + /* return_matcher_indices */ MatcherIndicesIndex(1103), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [298] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(140), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [299] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(199), + /* parameters */ ParameterIndex(839), + /* return_matcher_indices */ MatcherIndicesIndex(1103), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [300] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(33), + /* parameters */ ParameterIndex(770), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [301] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(773), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [302] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(33), + /* parameters */ ParameterIndex(782), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [303] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [304] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(33), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [305] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(779), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [306] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(33), + /* parameters */ ParameterIndex(782), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [307] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [308] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(33), + /* parameters */ ParameterIndex(788), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [309] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(791), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [310] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(33), + /* parameters */ ParameterIndex(794), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [311] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(797), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [312] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(29), + /* parameters */ ParameterIndex(800), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [313] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(803), + /* return_matcher_indices */ MatcherIndicesIndex(1091), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [314] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(202), + /* parameters */ ParameterIndex(806), + /* return_matcher_indices */ MatcherIndicesIndex(624), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [315] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(93), + /* parameters */ ParameterIndex(8), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [316] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(9), + /* parameters */ ParameterIndex(748), + /* return_matcher_indices */ MatcherIndicesIndex(108), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [317] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 7, + /* templates */ TemplateIndex(0), + /* parameters */ ParameterIndex(869), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [318] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 7, + /* templates */ TemplateIndex(0), + /* parameters */ ParameterIndex(870), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [319] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(832), + /* return_matcher_indices */ MatcherIndicesIndex(1043), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [320] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(834), + /* return_matcher_indices */ MatcherIndicesIndex(1055), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, { /* [321] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(832), - /* return_matcher_indices */ MatcherIndicesIndex(1054), + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(836), + /* return_matcher_indices */ MatcherIndicesIndex(1103), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [322] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(331), - /* return_matcher_indices */ MatcherIndicesIndex(610), + /* num_templates */ 3, + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(762), + /* return_matcher_indices */ MatcherIndicesIndex(1103), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [323] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(758), + /* return_matcher_indices */ MatcherIndicesIndex(976), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [324] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(210), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [325] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(212), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(8), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [326] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(837), + /* return_matcher_indices */ MatcherIndicesIndex(1051), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [327] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(331), - /* return_matcher_indices */ MatcherIndicesIndex(628), + /* parameters */ ParameterIndex(329), + /* return_matcher_indices */ MatcherIndicesIndex(606), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [328] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(329), + /* return_matcher_indices */ MatcherIndicesIndex(624), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, }; @@ -11679,116 +12869,118 @@ constexpr IntrinsicInfo kBuiltins[] = { /* [0] */ /* fn array_length[I : u32, A : access](ptr, I) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(309), + /* overloads */ OverloadIndex(314), }, { /* [1] */ /* fn atomic_load[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U) -> T */ /* fn atomic_load[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(253), + /* overloads */ OverloadIndex(260), }, { /* [2] */ /* fn atomic_store[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) */ /* fn atomic_store[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) */ /* num overloads */ 2, - /* overloads */ OverloadIndex(255), + /* overloads */ OverloadIndex(262), }, { /* [3] */ /* fn atomic_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [4] */ /* fn atomic_compare_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, U, T, T) -> T */ /* fn atomic_compare_exchange[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, U, T, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(259), + /* overloads */ OverloadIndex(264), }, { /* [5] */ /* fn atomic_i_add[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_i_add[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [6] */ /* fn atomic_i_sub[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_i_sub[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [7] */ /* fn atomic_s_max[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_s_max[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [8] */ /* fn atomic_s_min[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_s_min[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [9] */ /* fn atomic_u_max[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_u_max[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* fn atomic_u_max(ptr, read_write>, u32, u32, u64) -> u64 */ + /* num overloads */ 3, + /* overloads */ OverloadIndex(242), }, { /* [10] */ /* fn atomic_u_min[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_u_min[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* fn atomic_u_min(ptr, read_write>, u32, u32, u64) -> u64 */ + /* num overloads */ 3, + /* overloads */ OverloadIndex(242), }, { /* [11] */ /* fn atomic_and[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_and[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [12] */ /* fn atomic_or[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_or[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [13] */ /* fn atomic_xor[T : iu32, U : u32, S : workgroup_or_storage](ptr, read_write>, U, U, T) -> T */ /* fn atomic_xor[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U, T) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(257), + /* overloads */ OverloadIndex(242), }, { /* [14] */ /* fn atomic_i_increment[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(310), + /* overloads */ OverloadIndex(315), }, { /* [15] */ /* fn atomic_i_decrement[T : iu32, U : u32, S : workgroup_or_storage](ptr, U, U) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(310), + /* overloads */ OverloadIndex(315), }, { /* [16] */ /* fn dot[N : num, T : f32_f16](vec, vec) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(311), + /* overloads */ OverloadIndex(316), }, { /* [17] */ @@ -11799,7 +12991,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn image_dref_gather[F : texel_format](image: sampled_image>, coords: vec3, dref: f32, image_operands: u32) -> vec4 */ /* fn image_dref_gather[F : texel_format](image: sampled_image>, coords: vec4, dref: f32, image_operands: u32) -> vec4 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(208), + /* overloads */ OverloadIndex(218), }, { /* [18] */ @@ -11877,13 +13069,13 @@ constexpr IntrinsicInfo kBuiltins[] = { /* [22] */ /* fn image_query_levels[T : fiu32, D : depth, R : arrayed, S : sampled, F : texel_format, A : access](image: image) -> Z */ /* num overloads */ 1, - /* overloads */ OverloadIndex(312), + /* overloads */ OverloadIndex(317), }, { /* [23] */ /* fn image_query_samples[T : fiu32, D : depth, R : arrayed, S : sampled, F : texel_format, A : access](image: image) -> Z */ /* num overloads */ 1, - /* overloads */ OverloadIndex(313), + /* overloads */ OverloadIndex(318), }, { /* [24] */ @@ -11977,7 +13169,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn image_sample_proj_dref_implicit_lod[Z : iu32, F : texel_format](image: sampled_image>, coords: vec3, dref: f32, image_operands: u32, const_offset: vec2) -> f32 */ /* fn image_sample_proj_dref_implicit_lod[Z : iu32, F : texel_format](image: sampled_image>, coords: vec4, dref: f32, image_operands: u32, const_offset: vec2) -> f32 */ /* num overloads */ 4, - /* overloads */ OverloadIndex(226), + /* overloads */ OverloadIndex(230), }, { /* [28] */ @@ -12049,7 +13241,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn image_sample_proj_dref_explicit_lod[Z : iu32, F : texel_format](image: sampled_image>, coords: vec3, dref: f32, image_operands: u32, lod: f32, const_offset: vec2) -> f32 */ /* fn image_sample_proj_dref_explicit_lod[Z : iu32, F : texel_format](image: sampled_image>, coords: vec4, dref: f32, image_operands: u32, lod: f32, const_offset: vec2) -> f32 */ /* num overloads */ 4, - /* overloads */ OverloadIndex(230), + /* overloads */ OverloadIndex(234), }, { /* [31] */ @@ -12063,7 +13255,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn image_sample_dref_implicit_lod[F : texel_format](image: sampled_image>, coords: vec4, dref: f32, image_operands: u32) -> f32 */ /* fn image_sample_dref_implicit_lod[F : texel_format](image: sampled_image>, coords: vec4, dref: f32, image_operands: u32) -> f32 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(190), + /* overloads */ OverloadIndex(200), }, { /* [32] */ @@ -12077,7 +13269,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn image_sample_dref_explicit_lod[F : texel_format](image: sampled_image>, coords: vec4, dref: f32, image_operands: u32, lod: f32) -> f32 */ /* fn image_sample_dref_explicit_lod[F : texel_format](image: sampled_image>, coords: vec4, dref: f32, image_operands: u32, lod: f32) -> f32 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(199), + /* overloads */ OverloadIndex(209), }, { /* [33] */ @@ -12108,36 +13300,40 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn op_image>[F : texel_format](sampled_image) -> I */ /* fn op_image>[F : texel_format](sampled_image) -> I */ /* num overloads */ 6, - /* overloads */ OverloadIndex(214), + /* overloads */ OverloadIndex(224), }, { /* [35] */ /* fn op_sampled_image>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image */ + /* fn op_sampled_image>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered) -> sampled_image */ /* fn op_sampled_image>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image */ + /* fn op_sampled_image>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered) -> sampled_image */ /* fn op_sampled_image>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image */ + /* fn op_sampled_image>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered) -> sampled_image */ /* fn op_sampled_image>[T : fiu32, S : samplers, F : texel_format](I, S) -> sampled_image */ + /* fn op_sampled_image>[T : f32, K : sampler_filter, F : texel_format](I, sampler_filtered) -> sampled_image */ /* fn op_sampled_image>[S : samplers, F : texel_format](I, S) -> sampled_image */ /* fn op_sampled_image>[S : samplers, F : texel_format](I, S) -> sampled_image */ - /* num overloads */ 6, - /* overloads */ OverloadIndex(220), + /* num overloads */ 10, + /* overloads */ OverloadIndex(190), }, { /* [36] */ /* fn matrix_times_matrix[T : f32_f16, K : num, C : num, R : num](mat, mat) -> mat */ /* num overloads */ 1, - /* overloads */ OverloadIndex(314), + /* overloads */ OverloadIndex(319), }, { /* [37] */ /* fn matrix_times_scalar[T : f32_f16, N : num, M : num](mat, T) -> mat */ /* num overloads */ 1, - /* overloads */ OverloadIndex(315), + /* overloads */ OverloadIndex(320), }, { /* [38] */ /* fn matrix_times_vector[T : f32_f16, N : num, M : num](mat, vec) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(316), + /* overloads */ OverloadIndex(321), }, { /* [39] */ @@ -12145,26 +13341,26 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn select[N : num, T : scalar](bool, vec, vec) -> vec */ /* fn select[N : num, T : scalar](vec, vec, vec) -> vec */ /* num overloads */ 3, - /* overloads */ OverloadIndex(238), + /* overloads */ OverloadIndex(245), }, { /* [40] */ /* fn vector_times_matrix[T : f32_f16, N : num, M : num](vec, mat) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(317), + /* overloads */ OverloadIndex(322), }, { /* [41] */ /* fn vector_times_scalar[T : f32_f16, N : num](vec, T) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(318), + /* overloads */ OverloadIndex(323), }, { /* [42] */ /* fn normalize[T : f32_f16](T) -> T */ /* fn normalize[N : num, T : f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(261), + /* overloads */ OverloadIndex(266), }, { /* [43] */ @@ -12172,373 +13368,373 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn inverse[T : f32_f16](mat3x3) -> mat3x3 */ /* fn inverse[T : f32_f16](mat4x4) -> mat4x4 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(241), + /* overloads */ OverloadIndex(248), }, { /* [44] */ /* fn sign[T : iu32](T) -> R */ /* fn sign[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(263), + /* overloads */ OverloadIndex(268), }, { /* [45] */ /* fn abs[T : iu32](T) -> R */ /* fn abs[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(263), + /* overloads */ OverloadIndex(268), }, { /* [46] */ /* fn s_max[T : iu32, U : iu32](T, U) -> R */ /* fn s_max[T : iu32, U : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(265), + /* overloads */ OverloadIndex(270), }, { /* [47] */ /* fn s_min[T : iu32, U : iu32](T, U) -> R */ /* fn s_min[T : iu32, U : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(265), + /* overloads */ OverloadIndex(270), }, { /* [48] */ /* fn s_clamp[T : iu32, U : iu32, V : iu32](T, U, V) -> R */ /* fn s_clamp[T : iu32, U : iu32, V : iu32, N : num](vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(267), + /* overloads */ OverloadIndex(272), }, { /* [49] */ /* fn u_max[T : iu32, U : iu32](T, U) -> R */ /* fn u_max[T : iu32, U : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(265), + /* overloads */ OverloadIndex(270), }, { /* [50] */ /* fn u_min[T : iu32, U : iu32](T, U) -> R */ /* fn u_min[T : iu32, U : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(265), + /* overloads */ OverloadIndex(270), }, { /* [51] */ /* fn u_clamp[T : iu32, U : iu32, V : iu32](T, U, V) -> R */ /* fn u_clamp[T : iu32, U : iu32, V : iu32, N : num](vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(267), + /* overloads */ OverloadIndex(272), }, { /* [52] */ /* fn find_i_lsb[T : iu32](T) -> R */ /* fn find_i_lsb[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(263), + /* overloads */ OverloadIndex(268), }, { /* [53] */ /* fn find_s_msb[T : iu32](T) -> R */ /* fn find_s_msb[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(263), + /* overloads */ OverloadIndex(268), }, { /* [54] */ /* fn find_u_msb[T : iu32](T) -> R */ /* fn find_u_msb[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(263), + /* overloads */ OverloadIndex(268), }, { /* [55] */ /* fn refract[T : f32_f16](T, T, T) -> T */ /* fn refract[T : f32_f16, N : num](vec, vec, T) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(269), + /* overloads */ OverloadIndex(274), }, { /* [56] */ /* fn reflect[T : f32_f16](T, T) -> T */ /* fn reflect[T : f32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(271), + /* overloads */ OverloadIndex(276), }, { /* [57] */ /* fn face_forward[T : f32_f16](T, T, T) -> T */ /* fn face_forward[T : f32_f16, N : num](vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(273), + /* overloads */ OverloadIndex(278), }, { /* [58] */ /* fn ldexp[T : f32_f16, U : iu32](T, U) -> T */ /* fn ldexp[N : num, T : f32_f16, U : iu32](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(275), + /* overloads */ OverloadIndex(280), }, { /* [59] */ /* fn modf[T : f32_f16, S : function_private_workgroup_storage](x: T, i: ptr) -> T */ /* fn modf[T : f32_f16, N : num, S : function_private_workgroup_storage](x: vec, i: ptr, writable>) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(277), + /* overloads */ OverloadIndex(282), }, { /* [60] */ /* fn frexp[T : f32_f16, R : iu32, S : function_private_workgroup_storage](x: T, i: ptr) -> T */ /* fn frexp[T : f32_f16, R : iu32, N : num, S : function_private_workgroup_storage](x: vec, i: ptr, writable>) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(279), + /* overloads */ OverloadIndex(284), }, { /* [61] */ /* fn bit_count[T : iu32](T) -> R */ /* fn bit_count[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(263), + /* overloads */ OverloadIndex(268), }, { /* [62] */ /* fn bit_field_insert[T : iu32](base: T, insert: T, offset: iu32, count: iu32) -> T */ /* fn bit_field_insert[T : iu32, N : num](base: vec, insert: vec, offset: iu32, count: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(281), + /* overloads */ OverloadIndex(286), }, { /* [63] */ /* fn bit_field_s_extract[T : iu32](base: T, offset: iu32, count: iu32) -> T */ /* fn bit_field_s_extract[T : iu32, N : num](base: vec, offset: iu32, count: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(283), + /* overloads */ OverloadIndex(288), }, { /* [64] */ /* fn bit_field_u_extract[T : iu32](base: T, offset: iu32, count: iu32) -> T */ /* fn bit_field_u_extract[T : iu32, N : num](base: vec, offset: iu32, count: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(283), + /* overloads */ OverloadIndex(288), }, { /* [65] */ /* fn add[A : iu32, B : iu32](A, B) -> R */ /* fn add[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [66] */ /* fn sub[A : iu32, B : iu32](A, B) -> R */ /* fn sub[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [67] */ /* fn mul[A : iu32, B : iu32](A, B) -> R */ /* fn mul[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [68] */ /* fn s_div[A : iu32, B : iu32](A, B) -> R */ /* fn s_div[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [69] */ /* fn s_mod[A : iu32, B : iu32](A, B) -> R */ /* fn s_mod[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [70] */ /* fn s_greater_than[A : iu32, B : iu32](A, B) -> bool */ /* fn s_greater_than[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [71] */ /* fn s_greater_than_equal[A : iu32, B : iu32](A, B) -> bool */ /* fn s_greater_than_equal[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [72] */ /* fn s_less_than[A : iu32, B : iu32](A, B) -> bool */ /* fn s_less_than[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [73] */ /* fn s_less_than_equal[A : iu32, B : iu32](A, B) -> bool */ /* fn s_less_than_equal[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [74] */ /* fn u_greater_than[A : iu32, B : iu32](A, B) -> bool */ /* fn u_greater_than[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [75] */ /* fn u_greater_than_equal[A : iu32, B : iu32](A, B) -> bool */ /* fn u_greater_than_equal[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [76] */ /* fn u_less_than[A : iu32, B : iu32](A, B) -> bool */ /* fn u_less_than[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [77] */ /* fn u_less_than_equal[A : iu32, B : iu32](A, B) -> bool */ /* fn u_less_than_equal[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [78] */ /* fn convert_f_to_s[T : f32_f16](T) -> R */ /* fn convert_f_to_s[T : f32_f16, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(289), + /* overloads */ OverloadIndex(294), }, { /* [79] */ /* fn convert_s_to_f[T : iu32](T) -> R */ /* fn convert_s_to_f[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(291), + /* overloads */ OverloadIndex(296), }, { /* [80] */ /* fn convert_u_to_f[T : iu32](T) -> R */ /* fn convert_u_to_f[T : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(291), + /* overloads */ OverloadIndex(296), }, { /* [81] */ /* fn s_convert[T : i32](T) -> K */ /* num overloads */ 1, - /* overloads */ OverloadIndex(319), + /* overloads */ OverloadIndex(324), }, { /* [82] */ /* fn u_convert[T : u32](T) -> K */ /* num overloads */ 1, - /* overloads */ OverloadIndex(320), + /* overloads */ OverloadIndex(325), }, { /* [83] */ /* fn bitwise_and[A : iu32, B : iu32](A, B) -> R */ /* fn bitwise_and[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [84] */ /* fn bitwise_or[A : iu32, B : iu32](A, B) -> R */ /* fn bitwise_or[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [85] */ /* fn bitwise_xor[A : iu32, B : iu32](A, B) -> R */ /* fn bitwise_xor[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [86] */ /* fn equal[A : iu32, B : iu32](A, B) -> bool */ /* fn equal[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [87] */ /* fn not_equal[A : iu32, B : iu32](A, B) -> bool */ /* fn not_equal[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(287), + /* overloads */ OverloadIndex(292), }, { /* [88] */ /* fn shift_left_logical[A : iu32, B : iu32](A, B) -> R */ /* fn shift_left_logical[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [89] */ /* fn shift_right_logical[A : iu32, B : iu32](A, B) -> R */ /* fn shift_right_logical[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [90] */ /* fn shift_right_arithmetic[A : iu32, B : iu32](A, B) -> R */ /* fn shift_right_arithmetic[A : iu32, B : iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(285), + /* overloads */ OverloadIndex(290), }, { /* [91] */ /* fn not[A : iu32](A) -> R */ /* fn not[A : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(293), + /* overloads */ OverloadIndex(298), }, { /* [92] */ /* fn s_negate[A : iu32](A) -> R */ /* fn s_negate[A : iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(293), + /* overloads */ OverloadIndex(298), }, { /* [93] */ /* fn f_mod[T : f32_f16](T, T) -> T */ /* fn f_mod[T : f32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(271), + /* overloads */ OverloadIndex(276), }, { /* [94] */ /* fn outer_product[T : f32_f16, N : num, M : num](vec, vec) -> mat */ /* num overloads */ 1, - /* overloads */ OverloadIndex(321), + /* overloads */ OverloadIndex(326), }, { /* [95] */ /* fn s_dot(u32, u32, u32) -> i32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(322), + /* overloads */ OverloadIndex(327), }, { /* [96] */ /* fn u_dot(u32, u32, u32) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(323), + /* overloads */ OverloadIndex(328), }, { /* [97] */ @@ -12546,7 +13742,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn cooperative_matrix_load>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, u32, u32, u32) -> T */ /* fn cooperative_matrix_load>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, u32, u32, u32) -> T */ /* num overloads */ 3, - /* overloads */ OverloadIndex(244), + /* overloads */ OverloadIndex(251), }, { /* [98] */ @@ -12554,7 +13750,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn cooperative_matrix_store[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, subgroup_matrix, u32, u32, u32) */ /* fn cooperative_matrix_store[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, subgroup_matrix, u32, u32, u32) */ /* num overloads */ 3, - /* overloads */ OverloadIndex(247), + /* overloads */ OverloadIndex(254), }, { /* [99] */ @@ -12563,77 +13759,77 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn cooperative_matrix_mul_add[T : iu32, TR : iu32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix, u32) -> subgroup_matrix */ /* fn cooperative_matrix_mul_add[T : iu8, TR : iu32_iu8, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix, u32) -> subgroup_matrix */ /* num overloads */ 4, - /* overloads */ OverloadIndex(234), + /* overloads */ OverloadIndex(238), }, { /* [100] */ /* fn group_non_uniform_broadcast[T : scalar](scope: u32, e: T, @const id: u32) -> T */ /* fn group_non_uniform_broadcast[N : num, T : scalar](scope: u32, e: vec, @const id: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(295), + /* overloads */ OverloadIndex(300), }, { /* [101] */ /* fn group_non_uniform_broadcast_first[T : scalar](scope: u32, value: T) -> T */ /* fn group_non_uniform_broadcast_first[N : num, T : scalar](scope: u32, value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(297), + /* overloads */ OverloadIndex(302), }, { /* [102] */ /* fn group_non_uniform_quad_broadcast[T : scalar](scope: u32, e: T, @const id: u32) -> T */ /* fn group_non_uniform_quad_broadcast[N : num, T : scalar](scope: u32, e: vec, @const id: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(295), + /* overloads */ OverloadIndex(300), }, { /* [103] */ /* fn group_non_uniform_quad_swap[T : scalar](scope: u32, e: T, @const dir: u32) -> T */ /* fn group_non_uniform_quad_swap[N : num, T : scalar](scope: u32, e: vec, @const dir: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(299), + /* overloads */ OverloadIndex(304), }, { /* [104] */ /* fn group_non_uniform_shuffle[T : scalar](scope: u32, value: T, id: u32) -> T */ /* fn group_non_uniform_shuffle[N : num, T : scalar](scope: u32, value: vec, id: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(301), + /* overloads */ OverloadIndex(306), }, { /* [105] */ /* fn group_non_uniform_shuffle_xor[T : scalar](scope: u32, value: T, mask: u32) -> T */ /* fn group_non_uniform_shuffle_xor[N : num, T : scalar](scope: u32, value: vec, mask: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(303), + /* overloads */ OverloadIndex(308), }, { /* [106] */ /* fn group_non_uniform_shuffle_down[T : scalar](scope: u32, value: T, delta: u32) -> T */ /* fn group_non_uniform_shuffle_down[N : num, T : scalar](scope: u32, value: vec, delta: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(305), + /* overloads */ OverloadIndex(310), }, { /* [107] */ /* fn group_non_uniform_shuffle_up[T : scalar](scope: u32, value: T, delta: u32) -> T */ /* fn group_non_uniform_shuffle_up[N : num, T : scalar](scope: u32, value: vec, delta: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(305), + /* overloads */ OverloadIndex(310), }, { /* [108] */ /* fn group_non_uniform_s_min[T : iu32](scope: u32, group_operation: u32, value: T) -> T */ /* fn group_non_uniform_s_min[N : num, T : iu32](scope: u32, group_operation: u32, value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(307), + /* overloads */ OverloadIndex(312), }, { /* [109] */ /* fn group_non_uniform_s_max[T : iu32](scope: u32, group_operation: u32, value: T) -> T */ /* fn group_non_uniform_s_max[N : num, T : iu32](scope: u32, group_operation: u32, value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(307), + /* overloads */ OverloadIndex(312), }, }; @@ -12644,7 +13840,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op +[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* op +[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(250), + /* overloads */ OverloadIndex(257), }, { /* [1] */ @@ -12652,7 +13848,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op -[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* op -[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(250), + /* overloads */ OverloadIndex(257), }, { /* [2] */ @@ -12660,7 +13856,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op *[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* op *[K : subgroup_matrix_kind, C : num, R : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(250), + /* overloads */ OverloadIndex(257), }, }; constexpr uint8_t kBinaryOperatorPlus = 0; diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/common/options.h b/3rdparty/dawn/src/tint/lang/spirv/reader/common/options.h index 32d13d32c..51149ff28 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/common/options.h +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/common/options.h @@ -37,12 +37,6 @@ namespace tint::spirv::reader { /// Options that control how the SPIR-V parser should behave. struct Options { - /// Set to `true` to allow calls to derivative builtins in non-uniform control flow. - bool allow_non_uniform_derivatives = false; - // TODO(jrprice): Remove this when SPIR-V -> IR and IR -> WGSL are separate steps. - /// The extensions and language features that are allowed to be used in the generated WGSL. - wgsl::AllowedFeatures allowed_features = {}; - /// Mapping from a SPIR-V Sampler binding point to a WGSL sampler binding /// point. This allows remapping samplers which are split out of the /// combined texture/sampler pairs in SPIR-V. diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/atomics.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/atomics.cc index 62de2e9cf..f0d1aed17 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/atomics.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/atomics.cc @@ -554,13 +554,14 @@ struct State { } // namespace Result Atomics(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.Atomics", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowPointerToHandle, - })); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowPointerToHandle, + }, + "spirv.Atomics")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/builtins.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/builtins.cc index d773ebb22..1ebee0493 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/builtins.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/builtins.cc @@ -1310,14 +1310,15 @@ struct State { Result Builtins(core::ir::Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "spirv.Builtins", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowStructMatrixDecorations, - core::ir::Capability::kAllowPointerToHandle, - })); + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowStructMatrixDecorations, + core::ir::Capability::kAllowPointerToHandle, + }, + "spirv.Builtins")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_array.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_array.cc index 63acdfcb8..9aa27e3cd 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_array.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_array.cc @@ -251,13 +251,15 @@ struct State { } // namespace Result DecomposeStridedArray(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.DecomposeStridedArray", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowPointerToHandle, - })); + TINT_CHECK_RESULT( + core::ir::ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowPointerToHandle, + }, + "spirv.DecomposeStridedArray")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_matrix.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_matrix.cc index fb3ddcb94..6a8f6b52a 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_matrix.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/decompose_strided_matrix.cc @@ -363,14 +363,15 @@ struct State { Result DecomposeStridedMatrix(core::ir::Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "spirv.DecomposeStridedMatrix", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowStructMatrixDecorations, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowPointerToHandle, - })); + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowStructMatrixDecorations, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowPointerToHandle, + }, + "spirv.DecomposeStridedMatrix")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/lower.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/lower.cc index 31cee5b81..7cbbebcf8 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/lower.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/lower.cc @@ -66,12 +66,12 @@ Result Lower(core::ir::Module& mod) { TINT_CHECK_RESULT(core::ir::transform::RemoveTerminatorArgs(mod)); TINT_CHECK_RESULT( - core::ir::ValidateAndDumpIfNeeded(mod, "spirv.Lower", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - }, - "after")); + core::ir::ValidateAfterIfNeeded(mod, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + }, + "spirv.Lower")); return Success; } diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/shader_io.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/shader_io.cc index a665273f8..9161a2ac6 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/shader_io.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/shader_io.cc @@ -741,17 +741,18 @@ struct State { Result ShaderIO(core::ir::Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "spirv.ShaderIO", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowPhonyInstructions, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowStructMatrixDecorations, - core::ir::Capability::kAllowLocationForNumericElements, - core::ir::Capability::kAllowPointerToHandle, - core::ir::Capability::kLoosenValidationForShaderIO, - })); + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowPhonyInstructions, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowStructMatrixDecorations, + core::ir::Capability::kAllowLocationForNumericElements, + core::ir::Capability::kAllowPointerToHandle, + core::ir::Capability::kLoosenValidationForShaderIO, + }, + "spirv.ShaderIO")); return State{ir}.Process(); } diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/texture.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/texture.cc index f793dc63f..67910f0cd 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/texture.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/texture.cc @@ -82,10 +82,10 @@ struct State { /// Function to texture replacements Hashmap func_to_rewritten_{}; - /// Set of textures used in dref calls which need to be depth textures. - Hashset textures_to_convert_to_depth_{}; - /// Set of samplers used in dref calls which need to be comparison samplers - Hashset samplers_to_convert_to_comparison_{}; + /// Textures used in dref calls which need to be depth textures. + Vector textures_to_convert_to_depth_{}; + /// Samplers used in dref calls which need to be comparison samplers + Vector samplers_to_convert_to_comparison_{}; /// Process the module. void Process() { @@ -147,33 +147,58 @@ struct State { } } - // TODO(dsinclair): Propagate OpTypeSampledImage through function params by replacing with - // the texture/sampler - - // Run the depth functions first so we can convert all the types to depth that are needed. - // This then allows things like textureSample calls below to have the correct return type - // and be able to convert the results if needed. + // For each depth function, find the parameters which needed be converted. We don't convert + // the actual calls yet, as we may need to parameters to have propagated through function + // parameters. for (auto* builtin : depth_worklist) { switch (builtin->Func()) { case spirv::BuiltinFn::kImageSampleDrefImplicitLod: case spirv::BuiltinFn::kImageSampleDrefExplicitLod: case spirv::BuiltinFn::kImageSampleProjDrefImplicitLod: case spirv::BuiltinFn::kImageSampleProjDrefExplicitLod: - ImageSampleDref(builtin); + FindVarsForImageSampleDref(builtin); break; case spirv::BuiltinFn::kImageDrefGather: - ImageGatherDref(builtin); + FindVarsForImageGatherDref(builtin); break; default: TINT_UNREACHABLE(); } } - for (auto tex : textures_to_convert_to_depth_) { - ConvertVarToDepth(FindRootVarFor(tex)); + Hashset converted{}; + while (!textures_to_convert_to_depth_.IsEmpty()) { + auto tex = textures_to_convert_to_depth_.Pop(); + if (!converted.Add(tex)) { + continue; + } + + tint::Switch( + FindRootVarFor(tex), // + [&](core::ir::InstructionResult* res) { + auto* var = res->Instruction()->As(); + TINT_ASSERT(var); + ConvertVarToDepth(var); + }, + [&](core::ir::FunctionParam* param) { ConvertTextureParam(param); }, // + TINT_ICE_ON_NO_MATCH); } - for (auto tex : samplers_to_convert_to_comparison_) { - ConvertVarToComparison(FindRootVarFor(tex)); + + while (!samplers_to_convert_to_comparison_.IsEmpty()) { + auto samp = samplers_to_convert_to_comparison_.Pop(); + if (!converted.Add(samp)) { + continue; + } + + tint::Switch( + FindRootVarFor(samp), // + [&](core::ir::InstructionResult* res) { + auto* var = res->Instruction()->As(); + TINT_ASSERT(var); + ConvertVarToComparison(var); + }, + [&](core::ir::FunctionParam* param) { ConvertSamplerParam(param); }, // + TINT_ICE_ON_NO_MATCH); } UpdateValues(); @@ -184,7 +209,7 @@ struct State { case spirv::BuiltinFn::kOpSampledImage: // Note, we _also_ do this here even though it was done above. The one above // registers for the depth functions, but, we may have forked functions in - // the `UpdateValues` when it does the `ConvertUserCalls`. This would then + // the `UpdateValues` when it does the `ConvertUserCall`. This would then // generate new `SampledImage` objects which need to be registered. In the // worse case, we just write the same data twice. SampledImage(builtin); @@ -202,6 +227,11 @@ struct State { case spirv::BuiltinFn::kImageSampleProjImplicitLod: case spirv::BuiltinFn::kImageSampleProjExplicitLod: case spirv::BuiltinFn::kImageWrite: + case spirv::BuiltinFn::kImageSampleDrefImplicitLod: + case spirv::BuiltinFn::kImageSampleDrefExplicitLod: + case spirv::BuiltinFn::kImageSampleProjDrefImplicitLod: + case spirv::BuiltinFn::kImageSampleProjDrefExplicitLod: + case spirv::BuiltinFn::kImageDrefGather: builtin_worklist.Push(builtin); break; default: @@ -216,8 +246,6 @@ struct State { Image(builtin); break; case spirv::BuiltinFn::kImageRead: - ImageFetch(builtin); - break; case spirv::BuiltinFn::kImageFetch: ImageFetch(builtin); break; @@ -243,6 +271,15 @@ struct State { case spirv::BuiltinFn::kImageWrite: ImageWrite(builtin); break; + case spirv::BuiltinFn::kImageSampleDrefImplicitLod: + case spirv::BuiltinFn::kImageSampleDrefExplicitLod: + case spirv::BuiltinFn::kImageSampleProjDrefImplicitLod: + case spirv::BuiltinFn::kImageSampleProjDrefExplicitLod: + ImageSampleDref(builtin); + break; + case spirv::BuiltinFn::kImageDrefGather: + ImageGatherDref(builtin); + break; default: TINT_UNREACHABLE(); } @@ -366,17 +403,46 @@ struct State { } // Given a value, walk back up and find the root `var`. - core::ir::Var* FindRootVarFor(core::ir::Value* val) { + core::ir::Value* FindRootVarFor(core::ir::Value* val) { + if (val->Is()) { + return val; + } + auto* inst_res = val->As(); TINT_ASSERT(inst_res); return tint::Switch( inst_res->Instruction(), // [&](core::ir::Let* l) { return FindRootVarFor(l->Value()); }, [&](core::ir::Load* l) { return FindRootVarFor(l->From()); }, - [&](core::ir::Var* v) { return v; }, // + [&](core::ir::Var* v) { return v->Result(); }, // TINT_ICE_ON_NO_MATCH); } + // Given a function parameter to convert to either a depth texture or comparison sampler we get + // all the call sites for the function. We then mark the argument value for the given parameter + // for conversion. This will then trigger that variable to convert up the call stack. Eventually + // we'll stop and convert the root variable. Then, that conversion will trigger a walk back down + // which will convert the call argument types and do any forking of functions to handle the new + // parameter types. + void ConvertTextureParam(core::ir::FunctionParam* param) { + for (auto& usage : param->Function()->UsagesUnsorted()) { + auto* caller = usage->instruction->As(); + if (!caller) { + continue; + } + textures_to_convert_to_depth_.Push(caller->Args()[param->Index()]); + } + } + void ConvertSamplerParam(core::ir::FunctionParam* param) { + for (auto& usage : param->Function()->UsagesUnsorted()) { + auto* caller = usage->instruction->As(); + if (!caller) { + continue; + } + samplers_to_convert_to_comparison_.Push(caller->Args()[param->Index()]); + } + } + void ConvertVarToDepth(core::ir::Var* var) { auto* orig_ptr_ty = var->Result()->Type()->As(); TINT_ASSERT(orig_ptr_ty); @@ -707,6 +773,17 @@ struct State { call->Destroy(); } + void FindVarsForImageGatherDref(spirv::ir::BuiltinCall* call) { + const auto& args = call->Args(); + + core::ir::Value* tex = nullptr; + core::ir::Value* sampler = nullptr; + std::tie(tex, sampler) = GetTextureSampler(args[0]); + + textures_to_convert_to_depth_.Push(tex); + samplers_to_convert_to_comparison_.Push(sampler); + } + void ImageGatherDref(spirv::ir::BuiltinCall* call) { const auto& args = call->Args(); @@ -715,9 +792,6 @@ struct State { core::ir::Value* sampler = nullptr; std::tie(tex, sampler) = GetTextureSampler(args[0]); - textures_to_convert_to_depth_.Add(tex); - samplers_to_convert_to_comparison_.Add(sampler); - auto* coords = args[1]; auto* dref = args[2]; @@ -772,7 +846,7 @@ struct State { call->Destroy(); } - void ImageSampleDref(spirv::ir::BuiltinCall* call) { + void FindVarsForImageSampleDref(spirv::ir::BuiltinCall* call) { const auto& args = call->Args(); auto* sampled_image = args[0]; @@ -781,8 +855,18 @@ struct State { core::ir::Value* sampler = nullptr; std::tie(tex, sampler) = GetTextureSampler(sampled_image); - textures_to_convert_to_depth_.Add(tex); - samplers_to_convert_to_comparison_.Add(sampler); + textures_to_convert_to_depth_.Push(tex); + samplers_to_convert_to_comparison_.Push(sampler); + } + + void ImageSampleDref(spirv::ir::BuiltinCall* call) { + const auto& args = call->Args(); + + auto* sampled_image = args[0]; + + core::ir::Value* tex = nullptr; + core::ir::Value* sampler = nullptr; + std::tie(tex, sampler) = GetTextureSampler(sampled_image); auto* tex_ty = tex->Type(); @@ -1030,13 +1114,14 @@ struct State { } // namespace Result Texture(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.Texture", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowPointerToHandle, - })); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowPointerToHandle, + }, + "spirv.Texture")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/transpose_row_major.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/transpose_row_major.cc index 898383553..d188de472 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/transpose_row_major.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/transpose_row_major.cc @@ -756,14 +756,15 @@ struct State { Result TransposeRowMajor(core::ir::Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "spirv.TransposeRowMajor", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowStructMatrixDecorations, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowPointerToHandle, - })); + ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowStructMatrixDecorations, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowPointerToHandle, + }, + "spirv.TransposeRowMajor")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc index adb690911..55694c441 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/lower/vector_element_pointer.cc @@ -155,18 +155,19 @@ struct State { Result VectorElementPointer(core::ir::Module& ir) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "spirv.VectorElementPointer", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowVectorElementPointer, - core::ir::Capability::kAllowPhonyInstructions, - core::ir::Capability::kAllowNonCoreTypes, - core::ir::Capability::kAllowStructMatrixDecorations, - core::ir::Capability::kAllowLocationForNumericElements, - core::ir::Capability::kAllowPointerToHandle, - core::ir::Capability::kLoosenValidationForShaderIO, - })); + core::ir::ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowVectorElementPointer, + core::ir::Capability::kAllowPhonyInstructions, + core::ir::Capability::kAllowNonCoreTypes, + core::ir::Capability::kAllowStructMatrixDecorations, + core::ir::Capability::kAllowLocationForNumericElements, + core::ir::Capability::kAllowPointerToHandle, + core::ir::Capability::kLoosenValidationForShaderIO, + }, + "spirv.VectorElementPointer")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/reader/reader.cc b/3rdparty/dawn/src/tint/lang/spirv/reader/reader.cc index f08c7c37a..1f0fbb485 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/reader/reader.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/reader/reader.cc @@ -43,10 +43,12 @@ Result ReadIR(const std::vector& input, const Option // Always validate the core IR, so that we fail somewhat gracefully on invalid inputs instead of // just ICEing later on. - TINT_CHECK_RESULT(core::ir::Validate(mod, core::ir::Capabilities{ + TINT_CHECK_RESULT(core::ir::ValidateAfter(mod, + core::ir::Capabilities{ core::ir::Capability::kAllowMultipleEntryPoints, core::ir::Capability::kAllowOverrides, - })); + }, + "spirv::ReadIR")); return mod; } diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.cc new file mode 100644 index 000000000..7cceef020 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.cc @@ -0,0 +1,305 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.h" + +#include "src/tint/lang/core/ir/convert.h" +#include "src/tint/lang/core/ir/let.h" +#include "src/tint/lang/core/ir/load.h" +#include "src/tint/lang/core/ir/module.h" +#include "src/tint/lang/core/ir/user_call.h" +#include "src/tint/lang/core/ir/var.h" +#include "src/tint/lang/core/type/f16.h" +#include "src/tint/lang/spirv/ir/builtin_call.h" +#include "src/tint/lang/spirv/type/image.h" +#include "src/tint/utils/rtti/switch.h" + +namespace tint::spirv::writer::analysis { + +namespace { + +/// PIMPL state for the analysis. +struct State { + /// The IR module. + const core::ir::Module& ir; + + /// The set of values that can be decorated with RelaxedPrecision. + RelaxedPrecisionDecorations& decorations; + + /// Process the module. + void Process() { + // Look for function parameters that might not need full f32 precision. + // Do this in reverse-dependency order since the precision requirements may be derived from + // calls to other user-defined functions. + for (auto* func : ir.DependencyOrderedFunctions()) { + for (auto* param : func->Params()) { + ProcessRootValue(param); + } + } + + // Look for module-scope variables that might not need full f32 precision. + for (auto* inst : *ir.root_block) { + if (auto* var = inst->As()) { + ProcessRootValue(var->Result()); + } + } + } + + /// Process a value to see if it, and/or its usages, can be decorated with RelaxedPrecision. + void ProcessRootValue(const core::ir::Value* value) { + auto* image = value->Type()->UnwrapPtr()->As(); + if (!image) { + // Only consider image types for now. + return; + } + + // Apply decorations to the operands and results of image builtins and record whether or not + // the variable itself can be decorated based on its usages. + const bool all_usages_support_relaxed_precision = WalkImageUsages(value); + + // Check the texel format to see if the image itself can be RelaxedPrecision. + // For some formats this may depend on the usages. + switch (image->GetTexelFormat()) { + // 16-bit float formats and normalized formats can always use relaxed precision. + case core::TexelFormat::kBgra8Unorm: + case core::TexelFormat::kR16Float: + case core::TexelFormat::kR16Snorm: + case core::TexelFormat::kR16Unorm: + case core::TexelFormat::kR8Snorm: + case core::TexelFormat::kR8Unorm: + case core::TexelFormat::kRg16Float: + case core::TexelFormat::kRg16Snorm: + case core::TexelFormat::kRg16Unorm: + case core::TexelFormat::kRg8Snorm: + case core::TexelFormat::kRg8Unorm: + case core::TexelFormat::kRgb10A2Unorm: + case core::TexelFormat::kRgba16Float: + case core::TexelFormat::kRgba16Snorm: + case core::TexelFormat::kRgba16Unorm: + case core::TexelFormat::kRgba8Snorm: + case core::TexelFormat::kRgba8Unorm: + decorations.Add(value); + break; + + // Integer formats never use relaxed precision. + case core::TexelFormat::kR16Sint: + case core::TexelFormat::kR16Uint: + case core::TexelFormat::kR32Sint: + case core::TexelFormat::kR32Uint: + case core::TexelFormat::kR8Sint: + case core::TexelFormat::kR8Uint: + case core::TexelFormat::kRg16Sint: + case core::TexelFormat::kRg16Uint: + case core::TexelFormat::kRg32Sint: + case core::TexelFormat::kRg32Uint: + case core::TexelFormat::kRg8Sint: + case core::TexelFormat::kRg8Uint: + case core::TexelFormat::kRgb10A2Uint: + case core::TexelFormat::kRgba16Sint: + case core::TexelFormat::kRgba16Uint: + case core::TexelFormat::kRgba32Sint: + case core::TexelFormat::kRgba32Uint: + case core::TexelFormat::kRgba8Sint: + case core::TexelFormat::kRgba8Uint: + break; + + // 32-bit float formats may still be able to use relaxed precision depending on their + // usages. + case core::TexelFormat::kR32Float: + case core::TexelFormat::kRg32Float: + case core::TexelFormat::kRgba32Float: + case core::TexelFormat::kRg11B10Ufloat: + if (all_usages_support_relaxed_precision) { + decorations.Add(value); + } + break; + + // Unknown formats can only use relaxed precision if their usages allow for it. + // This covers sampled textures, where we can use relaxed precision if all sample and + // fetch results are immediately converted to f16 types before use. + case core::TexelFormat::kUndefined: + if (all_usages_support_relaxed_precision) { + decorations.Add(value); + } + break; + } + } + + /// Walk usages of an image. + /// Apply RelaxedPrecision decorations to operands and results where possible. + /// @returns true if all usages allow for the image itself to be RelaxedPrecision + bool WalkImageUsages(const core::ir::Value* image) { + bool all_usages_allow_relaxed_precision = true; + + // Visit every use of the image object. + Vector worklist{image}; + while (!worklist.IsEmpty()) { + auto* value = worklist.Pop(); + for (auto use : value->UsagesSorted()) { + all_usages_allow_relaxed_precision &= tint::Switch( + use.instruction, + [&](core::ir::Load* load) { // + worklist.Push(load->Result()); + return true; + }, + [&](core::ir::UserCall* call) { + // If the function parameter does not have a RelaxedPrecision decoration, + // then the image passed as an argument cannot either. + auto param_idx = use.operand_index - core::ir::UserCall::kArgsOperandOffset; + auto* param = call->Target()->Params()[param_idx]; + return decorations.Contains(param); + }, + [&](ir::BuiltinCall* call) { // + return ProcessImageBuiltin(call, worklist); + }, + TINT_ICE_ON_NO_MATCH); + } + } + + return all_usages_allow_relaxed_precision; + } + + /// Process an image builtin call, adding RelaxedPrecision decorations to texel values if + /// possible, and updating @p worklist with any new values that need to be visited. + /// @returns true if the builtin allows for the image to be decorated as RelaxedPrecision. + bool ProcessImageBuiltin(ir::BuiltinCall* call, Vector& worklist) { + switch (call->Func()) { + // Functions that load or sample texel data can potentially have their result decorated + // as RelaxedPrecision. Conversely, if they cannot be decorated as RelaxedPrecision, + // then the originating variable cannot be either. + case BuiltinFn::kImageDrefGather: + case BuiltinFn::kImageFetch: + case BuiltinFn::kImageGather: + case BuiltinFn::kImageRead: + case BuiltinFn::kImageSampleImplicitLod: + case BuiltinFn::kImageSampleProjImplicitLod: + case BuiltinFn::kImageSampleProjDrefImplicitLod: + case BuiltinFn::kImageSampleExplicitLod: + case BuiltinFn::kImageSampleProjExplicitLod: + case BuiltinFn::kImageSampleProjDrefExplicitLod: + case BuiltinFn::kImageSampleDrefImplicitLod: + case BuiltinFn::kImageSampleDrefExplicitLod: { + if (IsConvertedToF16(call->Result())) { + decorations.Add(call->Result()); + return true; + } + return false; + } + + // Functions that write texel data can potentially have the texel value decorated as + // RelaxedPrecision. Conversely, if they cannot be decorated as RelaxedPrecision, then + // the originating variable cannot be either. + case BuiltinFn::kImageWrite: { + auto* texel = call->Operand(2); + if (IsConvertedFromF16(texel)) { + decorations.Add(texel); + return true; + } + return false; + } + + // Walk through OpSampledImage to check the sampling operations. + case BuiltinFn::kOpSampledImage: + worklist.Push(call->Result()); + return true; + + // Query operations have no impact on allowable precision. + case BuiltinFn::kImageQuerySize: + case BuiltinFn::kImageQuerySizeLod: + case BuiltinFn::kImageQueryLevels: + case BuiltinFn::kImageQuerySamples: + return true; + + default: + TINT_IR_UNREACHABLE(ir) << "unhandled builtin call " << call->Func(); + } + } + + /// @returns true if @p value is converted to an f16 type before any use + bool IsConvertedToF16(core::ir::Value* value) { + // Walk uses of the value. + Vector worklist{value}; + while (!worklist.IsEmpty()) { + auto* next = worklist.Pop(); + for (auto use : next->UsagesUnsorted()) { + auto* inst = use->instruction; + if (inst->Is()) { + // Check if we are converting to F16. + if (!IsF16(inst->Result()->Type())) { + return false; + } + } else if (inst->Is()) { + // Walk through let instructions. + worklist.Push(inst->Result()); + } else { + // Any other instruction halts the analysis. + return false; + } + } + } + return true; + } + + /// @returns true if @p value was converted from an f16 type + bool IsConvertedFromF16(core::ir::Value* value) { + // Walk backwards from the value. + while (true) { + auto* result = value->As(); + if (!result) { + return false; + } + + auto* inst = result->Instruction(); + if (inst->IsAnyOf()) { + // Check if we are converting from F16. + return IsF16(inst->Operand(0)->Type()); + } else if (auto* let = inst->As()) { + // Walk through let instructions. + value = let->Value(); + continue; + } else { + // Any other instructions halts the analysis. + return false; + } + } + } + + /// @returns true if @p type is an f16 type or a type whose elements are all f16 + bool IsF16(const core::type::Type* type) { + return type->DeepestElement()->Is(); + } +}; + +} // namespace + +RelaxedPrecisionDecorations GetRelaxedPrecisionDecorations(const core::ir::Module& ir) { + RelaxedPrecisionDecorations decorations; + State{ir, decorations}.Process(); + return decorations; +} + +} // namespace tint::spirv::writer::analysis diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.h b/3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.h new file mode 100644 index 000000000..9cec03813 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.h @@ -0,0 +1,51 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef SRC_TINT_LANG_SPIRV_WRITER_ANALYSIS_RELAXED_PRECISION_DECORATIONS_H_ +#define SRC_TINT_LANG_SPIRV_WRITER_ANALYSIS_RELAXED_PRECISION_DECORATIONS_H_ + +#include "src/tint/utils/containers/unique_vector.h" + +// Forward declarations. +namespace tint::core::ir { +class Module; +class Value; +} // namespace tint::core::ir + +namespace tint::spirv::writer::analysis { + +using RelaxedPrecisionDecorations = UniqueVector; + +/// GetRelaxedPrecisionDecorations scans an IR module to find objects that can be decorated with the +/// RelaxedPrecision decoration. +/// @param ir the module to analyze +/// @returns the set of values that can be decorated with RelaxedPrecision +RelaxedPrecisionDecorations GetRelaxedPrecisionDecorations(const core::ir::Module& ir); + +} // namespace tint::spirv::writer::analysis + +#endif // SRC_TINT_LANG_SPIRV_WRITER_ANALYSIS_RELAXED_PRECISION_DECORATIONS_H_ diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/common/option_helper.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/common/option_helper.cc index 025813efa..c4355e2fe 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/common/option_helper.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/common/option_helper.cc @@ -25,10 +25,9 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include "src/tint/lang/spirv/writer/common/option_helpers.h" - #include +#include "src/tint/lang/spirv/writer/common/option_helpers.h" #include "src/tint/utils/containers/hashmap.h" #include "src/tint/utils/diagnostic/diagnostic.h" diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/common/options.h b/3rdparty/dawn/src/tint/lang/spirv/writer/common/options.h index 187a9f39a..1d6b96c98 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/common/options.h +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/common/options.h @@ -30,6 +30,7 @@ #include #include +#include #include #include "src/tint/api/common/binding_point.h" @@ -178,16 +179,19 @@ struct Options { std::string entry_point_name; /// An optional remapped name to use when emitting the entry point. - std::string remapped_entry_point_name = {}; + std::string remapped_entry_point_name{}; /// The bindings - Bindings bindings = {}; + Bindings bindings{}; // BindingPoints for textures that are paired with static samplers in the // BGL. These BindingPoints are the only ones that are allowed to map to // duplicate spir-v bindings, since they must map to the spir-v bindings of // the samplers with which they are paired. - std::unordered_set statically_paired_texture_binding_points = {}; + std::unordered_set statically_paired_texture_binding_points{}; + + /// Mapping of colour indices to the binding point the var should be bound too + std::unordered_map colour_index_to_binding_point{}; /// Set to `true` to strip all user-declared identifiers from the module. bool strip_all_names = false; @@ -227,7 +231,7 @@ struct Options { std::optional resource_table = std::nullopt; // Configuration for substitute overrides - SubstituteOverridesConfig substitute_overrides_config = {}; + SubstituteOverridesConfig substitute_overrides_config{}; /// Reflect the fields of this class so that it can be used by tint::ForeachField() TINT_REFLECT(Options, @@ -235,6 +239,7 @@ struct Options { remapped_entry_point_name, bindings, statically_paired_texture_binding_points, + colour_index_to_binding_point, strip_all_names, disable_robustness, disable_workgroup_init, diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/common/output.h b/3rdparty/dawn/src/tint/lang/spirv/writer/common/output.h index 44d5a6141..00dae949b 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/common/output.h +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/common/output.h @@ -35,6 +35,7 @@ #include #include "src/tint/api/common/subgroup_matrix.h" +#include "src/tint/api/common/workgroup_info.h" namespace tint::spirv::writer { @@ -53,22 +54,6 @@ struct Output { /// @returns this Output& operator=(const Output&); - /// Workgroup size information - struct WorkgroupInfo { - /// The x-component - uint32_t x = 0; - /// The y-component - uint32_t y = 0; - /// The z-component - uint32_t z = 0; - - /// The needed workgroup storage size - size_t storage_size = 0; - - /// The `@subgroup_size` attribute - std::optional subgroup_size = {}; - }; - /// The generated SPIR-V. std::vector spirv; diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/printer/printer.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/printer/printer.cc index 2d71e7b2f..7d41f94f3 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/printer/printer.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/printer/printer.cc @@ -33,7 +33,6 @@ #include "spirv/unified1/GLSL.std.450.h" #include "spirv/unified1/spirv.h" - #include "src/tint/lang/core/constant/value.h" #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/fluent_types.h" @@ -80,11 +79,13 @@ #include "src/tint/lang/core/type/i32.h" #include "src/tint/lang/core/type/matrix.h" #include "src/tint/lang/core/type/pointer.h" +#include "src/tint/lang/core/type/resource_table.h" #include "src/tint/lang/core/type/sampler.h" #include "src/tint/lang/core/type/struct.h" #include "src/tint/lang/core/type/subgroup_matrix.h" #include "src/tint/lang/core/type/type.h" #include "src/tint/lang/core/type/u32.h" +#include "src/tint/lang/core/type/u64.h" #include "src/tint/lang/core/type/vector.h" #include "src/tint/lang/core/type/void.h" #include "src/tint/lang/spirv/ir/binary.h" @@ -92,8 +93,8 @@ #include "src/tint/lang/spirv/ir/copy_logical.h" #include "src/tint/lang/spirv/ir/literal_operand.h" #include "src/tint/lang/spirv/type/explicit_layout_array.h" -#include "src/tint/lang/spirv/type/resource_table.h" #include "src/tint/lang/spirv/type/sampled_image.h" +#include "src/tint/lang/spirv/writer/analysis/relaxed_precision_decorations.h" #include "src/tint/lang/spirv/writer/common/binary_writer.h" #include "src/tint/lang/spirv/writer/common/function.h" #include "src/tint/lang/spirv/writer/common/module.h" @@ -150,6 +151,9 @@ const core::type::Type* DedupType(const core::type::Type* ty, core::type::Manage if (s->IsComparison()) { return types.Get(core::type::SamplerKind::kSampler); } + if (s->Filtering() != core::SamplerFiltering::kUndefined) { + return types.Get(core::type::SamplerKind::kSampler); + } return s; }, @@ -294,8 +298,7 @@ class Printer { /// Builds the SPIR-V from the IR Result Generate() { - TINT_CHECK_RESULT( - core::ir::ValidateAndDumpIfNeeded(ir_, "spirv.Printer", kPrinterCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir_, kPrinterCapabilities, "spirv.Printer")); module_.PushCapability(SpvCapabilityShader); @@ -319,6 +322,15 @@ class Printer { TINT_CHECK_RESULT(EmitFunction(func)); } + // Emit RelaxedPrecision decorations. + auto relaxed_precision_decorations = analysis::GetRelaxedPrecisionDecorations(ir_); + for (const auto& deco : relaxed_precision_decorations) { + module_.PushAnnot(spv::Op::OpDecorate, { + Value(deco), + U32Operand(SpvDecorationRelaxedPrecision), + }); + } + return Success; } @@ -387,6 +399,9 @@ class Printer { module_.PushExtension("SPV_KHR_fragment_shader_barycentric"); module_.PushCapability(SpvCapabilityFragmentBarycentricKHR); return SpvBuiltInBaryCoordKHR; + // These are lowered elsewhere + case core::BuiltinValue::kGlobalInvocationIndex: + case core::BuiltinValue::kWorkgroupIndex: case core::BuiltinValue::kUndefined: return SpvBuiltInMax; } @@ -396,7 +411,7 @@ class Printer { /// Get the result ID of the constant `constant`, emitting its instruction if necessary. /// @param constant the constant to get the ID for /// @returns the result ID of the constant - uint32_t Constant(core::ir::Constant* constant) { + uint32_t Constant(const core::ir::Constant* constant) { // If it is a literal operand, just return the value. if (auto* literal = constant->As()) { return literal->Value()->ValueAs(); @@ -525,6 +540,10 @@ class Printer { [&](const core::type::U32*) { module_.PushType(spv::Op::OpTypeInt, {id, 32u, 0u}); }, + [&](const core::type::U64*) { + module_.PushCapability(SpvCapabilityInt64); + module_.PushType(spv::Op::OpTypeInt, {id, 64u, 0u}); + }, [&](const core::type::I8*) { module_.PushCapability(SpvCapabilityInt8); module_.PushType(spv::Op::OpTypeInt, {id, 8u, 1u}); @@ -569,7 +588,7 @@ class Printer { module_.PushType(spv::Op::OpTypeArray, {id, Type(arr->ElemType()), Constant(count)}); }, - [&](const spirv::type::ResourceTable* rb) { + [&](const core::type::ResourceTable* rb) { module_.PushCapability(SpvCapabilityRuntimeDescriptorArray); module_.PushExtension("SPV_EXT_descriptor_indexing"); module_.PushType(spv::Op::OpTypeRuntimeArray, {id, Type(rb->GetBindingType())}); @@ -656,11 +675,11 @@ class Printer { /// Get the result ID of the value `value`, emitting its instruction if necessary. /// @param value the value to get the ID for /// @returns the result ID of the value - uint32_t Value(core::ir::Value* value) { + uint32_t Value(const core::ir::Value* value) { return Switch( value, // - [&](core::ir::Constant* constant) { return Constant(constant); }, - [&](core::ir::Value*) { + [&](const core::ir::Constant* constant) { return Constant(constant); }, + [&](const core::ir::Value*) { return values_.GetOrAdd(value, [&] { return module_.NextId(); }); }); } @@ -1458,9 +1477,15 @@ class Printer { break; case spirv::BuiltinFn::kAtomicUMax: op = spv::Op::OpAtomicUMax; + if (builtin->Args()[3]->Type()->Is()) { + module_.PushCapability(SpvCapabilityInt64Atomics); + } break; case spirv::BuiltinFn::kAtomicUMin: op = spv::Op::OpAtomicUMin; + if (builtin->Args()[3]->Type()->Is()) { + module_.PushCapability(SpvCapabilityInt64Atomics); + } break; case spirv::BuiltinFn::kAtomicXor: op = spv::Op::OpAtomicXor; @@ -3016,7 +3041,7 @@ class Printer { /// Set the debug name of an instruction. void PushName(uint32_t id, core::ir::Instruction* inst) { PushName(id, ir_.NameOf(inst)); } /// Set the debug name of a value. - void PushName(uint32_t id, core::ir::Value* value) { PushName(id, ir_.NameOf(value)); } + void PushName(uint32_t id, const core::ir::Value* value) { PushName(id, ir_.NameOf(value)); } /// Set the debug name for a SPIR-V ID. void PushName(uint32_t id, const Symbol& name) { // Only set the name if it is valid and if we are not stripping user identifiers. diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.cc index 7dd07e392..5ab1b7c5a 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.cc @@ -45,6 +45,7 @@ #include "src/tint/lang/core/type/i8.h" #include "src/tint/lang/core/type/input_attachment.h" #include "src/tint/lang/core/type/multisampled_texture.h" +#include "src/tint/lang/core/type/resource_table.h" #include "src/tint/lang/core/type/sampled_texture.h" #include "src/tint/lang/core/type/storage_texture.h" #include "src/tint/lang/core/type/texture.h" @@ -52,7 +53,6 @@ #include "src/tint/lang/spirv/ir/binary.h" #include "src/tint/lang/spirv/ir/builtin_call.h" #include "src/tint/lang/spirv/ir/literal_operand.h" -#include "src/tint/lang/spirv/type/resource_table.h" #include "src/tint/lang/spirv/type/sampled_image.h" #include "src/tint/utils/ice/ice.h" #include "src/tint/utils/internal_limits.h" @@ -160,9 +160,9 @@ const core::type::Type* ReplacementType(core::type::Manager& ty, const core::typ } return nullptr; }, - [&](const spirv::type::ResourceTable* rb) -> const core::type::Type* { + [&](const core::type::ResourceTable* rb) -> const core::type::Type* { if (auto* replacement = ReplacementType(ty, rb->GetBindingType())) { - return ty.Get(replacement); + return ty.Get(replacement); } return nullptr; }, @@ -212,6 +212,8 @@ struct State { case core::BuiltinFn::kAtomicAdd: case core::BuiltinFn::kAtomicAnd: case core::BuiltinFn::kAtomicCompareExchangeWeak: + case core::BuiltinFn::kAtomicStoreMax: + case core::BuiltinFn::kAtomicStoreMin: case core::BuiltinFn::kAtomicExchange: case core::BuiltinFn::kAtomicLoad: case core::BuiltinFn::kAtomicMax: @@ -290,6 +292,8 @@ struct State { case core::BuiltinFn::kAtomicStore: case core::BuiltinFn::kAtomicSub: case core::BuiltinFn::kAtomicXor: + case core::BuiltinFn::kAtomicStoreMax: + case core::BuiltinFn::kAtomicStoreMin: Atomic(builtin); break; case core::BuiltinFn::kDot: @@ -515,6 +519,17 @@ struct State { } call->AppendArg(builtin->Args()[1]); break; + case core::BuiltinFn::kAtomicStoreMax: { + call = build(spirv::BuiltinFn::kAtomicUMax); + call->AppendArg(builtin->Args()[1]); + call->Result()->SetType(ty.u64()); + break; + } + case core::BuiltinFn::kAtomicStoreMin: + call = build(spirv::BuiltinFn::kAtomicUMin); + call->AppendArg(builtin->Args()[1]); + call->Result()->SetType(ty.u64()); + break; case core::BuiltinFn::kAtomicStore: call = build(spirv::BuiltinFn::kAtomicStore); call->AppendArg(builtin->Args()[1]); @@ -1432,12 +1447,13 @@ struct State { } // namespace Result BuiltinPolyfill(core::ir::Module& ir, PolyfillConfig config) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.BuiltinPolyfill", - core::ir::Capabilities{ - core::ir::Capability::kAllow8BitIntegers, - core::ir::Capability::kAllowDuplicateBindings, - core::ir::Capability::kAllowNonCoreTypes, - })); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllow8BitIntegers, + core::ir::Capability::kAllowDuplicateBindings, + core::ir::Capability::kAllowNonCoreTypes, + }, + "spirv.BuiltinPolyfill")); State{ir, config}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.h b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.h index 197e212e3..1e30d931f 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.h +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/builtin_polyfill.h @@ -34,7 +34,6 @@ // Forward declarations. namespace tint::core::ir { class Module; -class Texture; } // namespace tint::core::ir namespace tint::spirv::writer::raise { diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/case_switch_to_if_else.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/case_switch_to_if_else.cc index 50d9f1008..cd76f5ddc 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/case_switch_to_if_else.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/case_switch_to_if_else.cc @@ -153,8 +153,8 @@ struct State { } // namespace Result CaseSwitchToIfElse(core::ir::Module& ir) { - TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "spirv.CaseSwitchToIfElse", kCaseSwitchToIfElseCapabilities)); + TINT_CHECK_RESULT(core::ir::ValidateBeforeIfNeeded(ir, kCaseSwitchToIfElseCapabilities, + "spirv.CaseSwitchToIfElse")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/expand_implicit_splats.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/expand_implicit_splats.cc index 9e0d1dfb8..4ab95c9f1 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/expand_implicit_splats.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/expand_implicit_splats.cc @@ -135,8 +135,8 @@ struct State { } // namespace Result ExpandImplicitSplats(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.ExpandImplicitSplats", - kExpandImplicitSplatsCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kExpandImplicitSplatsCapabilities, + "spirv.ExpandImplicitSplats")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/fork_explicit_layout_types.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/fork_explicit_layout_types.cc index 31b1370ad..b42a5203d 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/fork_explicit_layout_types.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/fork_explicit_layout_types.cc @@ -370,8 +370,8 @@ struct State { } // namespace Result ForkExplicitLayoutTypes(core::ir::Module& ir, SpvVersion version) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.ForkExplicitLayoutTypes", - kForkExplicitLayoutTypesCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kForkExplicitLayoutTypesCapabilities, + "spirv.ForkExplicitLayoutTypes")); State{ir, version}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/handle_matrix_arithmetic.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/handle_matrix_arithmetic.cc index 4f3a1fd7a..1bf9f72cc 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/handle_matrix_arithmetic.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/handle_matrix_arithmetic.cc @@ -163,8 +163,8 @@ struct State { } // namespace Result HandleMatrixArithmetic(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.HandleMatrixArithmetic", - kHandleMatrixArithmeticCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kHandleMatrixArithmeticCapabilities, + "spirv.HandleMatrixArithmetic")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/keep_binding_array_as_pointer.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/keep_binding_array_as_pointer.cc index 144e72b14..6245c0c20 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/keep_binding_array_as_pointer.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/keep_binding_array_as_pointer.cc @@ -91,8 +91,8 @@ struct State { } // namespace Result KeepBindingArrayAsPointer(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.KeepBindingArrayAsPointer", - kKeepBindingArrayAsPointerCapabilities)); + TINT_CHECK_RESULT(core::ir::ValidateBeforeIfNeeded(ir, kKeepBindingArrayAsPointerCapabilities, + "spirv.KeepBindingArrayAsPointer")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/merge_return.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/merge_return.cc index 404409096..e831e00b2 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/merge_return.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/merge_return.cc @@ -271,7 +271,8 @@ struct State { } // namespace Result MergeReturn(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.MergeReturn", kMergeReturnCapabilities)); + TINT_CHECK_RESULT( + core::ir::ValidateBeforeIfNeeded(ir, kMergeReturnCapabilities, "spirv.MergeReturn")); // Process each function. for (auto& fn : ir.functions) { diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/pass_matrix_by_pointer.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/pass_matrix_by_pointer.cc index ff6919be7..0755751d6 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/pass_matrix_by_pointer.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/pass_matrix_by_pointer.cc @@ -128,7 +128,7 @@ struct State { } // namespace Result PassMatrixByPointer(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.PassMatrixByPointer")); + TINT_CHECK_RESULT(core::ir::ValidateBeforeIfNeeded(ir, {}, "spirv.PassMatrixByPointer")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/raise.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/raise.cc index 48dddb4e5..e79982fc5 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/raise.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/raise.cc @@ -36,7 +36,7 @@ #include "src/tint/lang/core/ir/transform/builtin_scalarize.h" #include "src/tint/lang/core/ir/transform/combine_access_instructions.h" #include "src/tint/lang/core/ir/transform/conversion_polyfill.h" -#include "src/tint/lang/core/ir/transform/decompose_uniform_access.h" +#include "src/tint/lang/core/ir/transform/decompose_access.h" #include "src/tint/lang/core/ir/transform/demote_to_helper.h" #include "src/tint/lang/core/ir/transform/direct_variable_access.h" #include "src/tint/lang/core/ir/transform/multiplanar_external_texture.h" @@ -62,7 +62,7 @@ #include "src/tint/lang/spirv/writer/raise/merge_return.h" #include "src/tint/lang/spirv/writer/raise/pass_matrix_by_pointer.h" #include "src/tint/lang/spirv/writer/raise/remove_unreachable_in_loop_continuing.h" -#include "src/tint/lang/spirv/writer/raise/resource_table.h" +#include "src/tint/lang/spirv/writer/raise/resource_table_helper.h" #include "src/tint/lang/spirv/writer/raise/shader_io.h" #include "src/tint/lang/spirv/writer/raise/unary_polyfill.h" #include "src/tint/lang/spirv/writer/raise/var_for_dynamic_index.h" @@ -172,9 +172,10 @@ Result Raise(core::ir::Module& module, const Options& options) { TINT_CHECK_RESULT(core::ir::transform::Bgra8UnormPolyfill(module)); if (!options.extensions.use_uniform_buffers) { - // DecomposeUniformAccess must come before BlockDecoratedStructs, which will wrap the + // DecomposeAccess must come before BlockDecoratedStructs, which will wrap the // uniform variable in a structure. - TINT_CHECK_RESULT(core::ir::transform::DecomposeUniformAccess(module)); + core::ir::transform::DecomposeAccessOptions decompose_config{.uniform = true}; + TINT_CHECK_RESULT(core::ir::transform::DecomposeAccess(module, decompose_config)); } else { TINT_CHECK_RESULT(core::ir::transform::Std140(module)); } @@ -231,11 +232,16 @@ Result Raise(core::ir::Module& module, const Options& options) { } TINT_CHECK_RESULT(raise::RemoveUnreachableInLoopContinuing(module)); TINT_CHECK_RESULT(raise::ShaderIO( - module, raise::ShaderIOConfig{immediate_data_layout, options.emit_vertex_point_size, - !options.extensions.use_storage_input_output_16, - options.polyfill_pixel_center, options.depth_range_offsets})); + module, raise::ShaderIOConfig{ + .immediate_data_layout = immediate_data_layout, + .colour_index_to_binding_point = options.colour_index_to_binding_point, + .emit_vertex_point_size = options.emit_vertex_point_size, + .polyfill_f16_io = !options.extensions.use_storage_input_output_16, + .polyfill_pixel_center = options.polyfill_pixel_center, + .depth_range_offsets = options.depth_range_offsets, + })); - // ForkExplicitLayoutTypes must come after DecomposeUniformAccess, since it rewrites + // ForkExplicitLayoutTypes must come after DecomposeAccess, since it rewrites // host-shareable array types to use the explicitly laid array type defined by the SPIR-V // dialect. TINT_CHECK_RESULT(raise::ForkExplicitLayoutTypes(module, options.spirv_version)); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/remove_unreachable_in_loop_continuing.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/remove_unreachable_in_loop_continuing.cc index a5b3b7721..1bf7f8f8c 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/remove_unreachable_in_loop_continuing.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/remove_unreachable_in_loop_continuing.cc @@ -94,8 +94,9 @@ struct State { } // namespace Result RemoveUnreachableInLoopContinuing(core::ir::Module& ir) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.RemoveUnreachableInLoopContinuing", - kRemoveUnreachableInLoopContinuingCapabilities)); + TINT_CHECK_RESULT( + core::ir::ValidateBeforeIfNeeded(ir, kRemoveUnreachableInLoopContinuingCapabilities, + "spirv.RemoveUnreachableInLoopContinuing")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table_helper.cc similarity index 92% rename from 3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table.cc rename to 3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table_helper.cc index 9b52862e8..b25c9b36a 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table_helper.cc @@ -25,11 +25,11 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include "src/tint/lang/spirv/writer/raise/resource_table.h" +#include "src/tint/lang/spirv/writer/raise/resource_table_helper.h" #include "src/tint/lang/core/type/pointer.h" +#include "src/tint/lang/core/type/resource_table.h" #include "src/tint/lang/core/type/resource_type.h" -#include "src/tint/lang/spirv/type/resource_table.h" using namespace tint::core::fluent_types; // NOLINT using namespace tint::core::number_suffixes; // NOLINT @@ -46,7 +46,7 @@ Hashmap ResourceTableHelper::Generat for (auto& type : types) { auto* t = core::type::ResourceTypeToType(b.ir.Types(), type); - auto* spv_ty = b.ir.Types().Get(t); + auto* spv_ty = b.ir.Types().Get(t); auto* v = b.Var(b.ir.Types().ptr(handle, spv_ty)); v->SetBindingPoint(bp.group, bp.binding); res.Add(t, v); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table.h b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table_helper.h similarity index 91% rename from 3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table.h rename to 3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table_helper.h index 5696f3dc6..35f506fb8 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table.h +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/resource_table_helper.h @@ -25,8 +25,8 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#ifndef SRC_TINT_LANG_SPIRV_WRITER_RAISE_RESOURCE_TABLE_H_ -#define SRC_TINT_LANG_SPIRV_WRITER_RAISE_RESOURCE_TABLE_H_ +#ifndef SRC_TINT_LANG_SPIRV_WRITER_RAISE_RESOURCE_TABLE_HELPER_H_ +#define SRC_TINT_LANG_SPIRV_WRITER_RAISE_RESOURCE_TABLE_HELPER_H_ #include @@ -48,4 +48,4 @@ class ResourceTableHelper : public core::ir::transform::ResourceTableHelper { } // namespace tint::spirv::writer::raise -#endif // SRC_TINT_LANG_SPIRV_WRITER_RAISE_RESOURCE_TABLE_H_ +#endif // SRC_TINT_LANG_SPIRV_WRITER_RAISE_RESOURCE_TABLE_HELPER_H_ diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.cc index 4da197383..9a7026f4a 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.cc @@ -31,6 +31,7 @@ #include #include #include +#include #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/fluent_types.h" @@ -38,7 +39,9 @@ #include "src/tint/lang/core/ir/module.h" #include "src/tint/lang/core/ir/transform/shader_io.h" #include "src/tint/lang/core/ir/validator.h" -#include "src/tint/lang/core/type/array.h" +#include "src/tint/lang/spirv/builtin_fn.h" +#include "src/tint/lang/spirv/ir/builtin_call.h" +#include "src/tint/lang/spirv/type/image.h" #include "src/tint/utils/ice/ice.h" using namespace tint::core::fluent_types; // NOLINT @@ -166,10 +169,34 @@ struct StateImpl : core::ir::transform::ShaderIOBackendState { } } + auto new_addrspace = addrspace; + + // Color becomes an InputAttachment in the handle space + if (io.attributes.color) { + auto sample_ty = store_type->DeepestElement(); + store_type = ty.Get( + sample_ty, type::Dim::kSubpassData, type::Depth::kNotDepth, + type::Arrayed::kNonArrayed, type::Multisampled::kSingleSampled, + type::Sampled::kReadWriteOpCompatible, core::TexelFormat::kUndefined, access); + + new_addrspace = core::AddressSpace::kHandle; + + // Attach the provided binding point + auto iter = config.colour_index_to_binding_point.find(io.attributes.color.value()); + TINT_IR_ASSERT(ir, iter != config.colour_index_to_binding_point.end()); + + TINT_IR_ASSERT(ir, !io.attributes.binding_point.has_value()); + io.attributes.binding_point = iter->second; + + io.attributes.input_attachment_index = io.attributes.color; + io.attributes.color = std::nullopt; + } + // Create an IO variable and add it to the root block. - auto* ptr = ty.ptr(addrspace, store_type, access); + auto* ptr = ty.ptr(new_addrspace, store_type, access); auto* var = b.Var(name.str(), ptr); var->SetAttributes(io.attributes); + ir.root_block->Append(var); vars.Push(var); } @@ -198,7 +225,41 @@ struct StateImpl : core::ir::transform::ShaderIOBackendState { from = builder.Access(ptr, input_vars[idx], 0_u)->Result(); } - auto* value = builder.Load(from)->Result(); + core::ir::Value* value = builder.Load(from)->Result(); + + if (inputs[idx].attributes.color.has_value()) { + // coords for input_attachment are always (0, 0) + auto* coords = builder.Composite(ty.vec2i(), 0_i, 0_i); + + // Start building the argument list for the builtin. + // The first two operands are always the texture and then the coordinates. + Vector builtin_args; + builtin_args.Push(value); + builtin_args.Push(coords); + + // Call the builtin. + value = builder + .Call(ty.vec4(inputs[idx].type->DeepestElement()), + spirv::BuiltinFn::kImageRead, + std::move(builtin_args)) + ->Result(); + + auto* orig_ty = inputs[idx].type; + if (orig_ty->IsAnyOf()) { + value = builder.Swizzle(orig_ty, value, {0})->Result(); + } else { + auto* vec = orig_ty->As(); + TINT_IR_ASSERT(ir, vec); + + if (vec->Width() != 4) { + Vector indices; + for (uint32_t i = 0; i < vec->Width(); ++i) { + indices.Push(i); + } + value = builder.Swizzle(orig_ty, value, indices)->Result(); + } + } + } // Convert f32 values to f16 values if needed. if (config.polyfill_f16_io && inputs[idx].type->DeepestElement()->Is()) { @@ -324,7 +385,7 @@ struct StateImpl : core::ir::transform::ShaderIOBackendState { } // namespace Result ShaderIO(core::ir::Module& ir, const ShaderIOConfig& config) { - TINT_CHECK_RESULT(ValidateAndDumpIfNeeded(ir, "spirv.ShaderIO", kShaderIOCapabilities)); + TINT_CHECK_RESULT(ValidateBeforeIfNeeded(ir, kShaderIOCapabilities, "spirv.ShaderIO")); core::ir::transform::RunShaderIOBase(ir, [&](core::ir::Module& mod, core::ir::Function* func) { return std::make_unique(mod, func, config); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.h b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.h index ef7d5fefb..626589309 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.h +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/shader_io.h @@ -28,6 +28,8 @@ #ifndef SRC_TINT_LANG_SPIRV_WRITER_RAISE_SHADER_IO_H_ #define SRC_TINT_LANG_SPIRV_WRITER_RAISE_SHADER_IO_H_ +#include + #include "src/tint/lang/core/ir/transform/prepare_immediate_data.h" #include "src/tint/lang/core/ir/validator.h" #include "src/tint/lang/spirv/writer/common/options.h" @@ -54,6 +56,9 @@ struct ShaderIOConfig { /// immediate data layout information const core::ir::transform::ImmediateDataLayout& immediate_data_layout; + /// Colour index to binding point + std::unordered_map colour_index_to_binding_point{}; + /// true if a vertex point size builtin output should be added bool emit_vertex_point_size = false; /// true if f16 IO types should be replaced with f32 types and converted diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/unary_polyfill.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/unary_polyfill.cc index 9e5e18492..76e055277 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/unary_polyfill.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/unary_polyfill.cc @@ -111,7 +111,7 @@ struct State { Result UnaryPolyfill(core::ir::Module& module, const UnaryPolyfillConfig& config) { TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(module, "spirv.UnaryPolyfill", kPolyfillUnaryCapabilities)); + ValidateBeforeIfNeeded(module, kPolyfillUnaryCapabilities, "spirv.UnaryPolyfill")); State{module, config}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/var_for_dynamic_index.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/var_for_dynamic_index.cc index 6cbb5f939..eebc14fd5 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/raise/var_for_dynamic_index.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/raise/var_for_dynamic_index.cc @@ -249,8 +249,8 @@ struct State { } // namespace Result VarForDynamicIndex(core::ir::Module& ir) { - TINT_CHECK_RESULT( - ValidateAndDumpIfNeeded(ir, "spirv.VarForDynamicIndex", kVarForDynamicIndexCapabilities)); + TINT_CHECK_RESULT(core::ir::ValidateBeforeIfNeeded(ir, kVarForDynamicIndexCapabilities, + "spirv.VarForDynamicIndex")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/spirv/writer/writer.cc b/3rdparty/dawn/src/tint/lang/spirv/writer/writer.cc index 17d13c6a1..3ca5811b6 100644 --- a/3rdparty/dawn/src/tint/lang/spirv/writer/writer.cc +++ b/3rdparty/dawn/src/tint/lang/spirv/writer/writer.cc @@ -35,6 +35,7 @@ #include "src/tint/lang/core/ir/validator.h" #include "src/tint/lang/core/ir/var.h" #include "src/tint/lang/core/type/pointer.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/spirv/writer/common/option_helpers.h" #include "src/tint/lang/spirv/writer/printer/printer.h" #include "src/tint/lang/spirv/writer/raise/raise.h" @@ -65,6 +66,9 @@ Result CanGenerate(const core::ir::Module& ir, const Options& optio if (ty->Is()) { return Failure("buffers are not supported by the SPIR-V backend"); } + if (ty->Is()) { + return Failure("16-bit unsigned integers are not supported by the SPIR-V backend"); + } } // If a remapped entry point name is provided, it must not be empty, and must not contain @@ -134,8 +138,12 @@ Result CanGenerate(const core::ir::Module& ir, const Options& optio // Check for unsupported shader IO builtins. auto check_io_attributes = [&](const core::IOAttributes& attributes) -> Result { - if (attributes.color.has_value()) { - return Failure("@color attribute is not supported by the SPIR-V backend"); + if (attributes.builtin == core::BuiltinValue::kGlobalInvocationIndex) { + return Failure( + "@builtin(global_invocation_index) is not supported by the SPIR-V backend"); + } + if (attributes.builtin == core::BuiltinValue::kWorkgroupIndex) { + return Failure("@builtin(workgroup_index) is not supported by the SPIR-V backend"); } return Success; }; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.cc b/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.cc index 5695e7679..b8e977af0 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.cc @@ -27,6 +27,8 @@ #include "src/tint/lang/wgsl/ast/builder.h" +#include "src/tint/lang/core/enums.h" + using namespace tint::core::number_suffixes; // NOLINT namespace tint::ast { @@ -74,8 +76,6 @@ void Builder::AssertNotMoved() const { TINT_ASSERT(!moved_) << "Attempting to use Builder after it has been moved"; } -Builder::TypesBuilder::TypesBuilder(Builder* pb) : builder(pb) {} - const ast::Statement* Builder::WrapInStatement(const ast::Expression* expr) { // Create a temporary variable of inferred type from expr. return Decl(Let(symbols_.New(), expr)); @@ -97,4 +97,608 @@ const ast::Function* Builder::WrapInFunction(VectorRef st }); } +Builder::TypesBuilder::TypesBuilder(Builder* pb) : builder(pb) {} + +ast::Type Builder::TypesBuilder::AsType(Symbol sym) const { + return AsType(builder->source_, sym); +} + +ast::Type Builder::TypesBuilder::AsType(const Source& source, Symbol sym) const { + return {builder->Expr(builder->Ident(source, sym))}; +} + +ast::Type Builder::TypesBuilder::AsType(std::string_view name) const { + return AsType(builder->source_, name); +} + +ast::Type Builder::TypesBuilder::AsType(const Source& source, std::string_view name) const { + return {builder->Expr(builder->Ident(source, name))}; +} + +ast::Type Builder::TypesBuilder::AsType(const ast::IdentifierExpression* ident) const { + return {ident}; +} + +ast::Type Builder::TypesBuilder::void_() const { + return ast::Type{}; +} + +ast::Type Builder::TypesBuilder::bool_() const { + return AsType("bool"); +} + +ast::Type Builder::TypesBuilder::bool_(const Source& source) const { + return AsType(source, "bool"); +} + +ast::Type Builder::TypesBuilder::f16() const { + return AsType("f16"); +} + +ast::Type Builder::TypesBuilder::f16(const Source& source) const { + return AsType(source, "f16"); +} + +ast::Type Builder::TypesBuilder::f32() const { + return AsType("f32"); +} + +ast::Type Builder::TypesBuilder::f32(const Source& source) const { + return AsType(source, "f32"); +} + +ast::Type Builder::TypesBuilder::i32() const { + return AsType("i32"); +} + +ast::Type Builder::TypesBuilder::i32(const Source& source) const { + return AsType(source, "i32"); +} + +ast::Type Builder::TypesBuilder::u32() const { + return AsType("u32"); +} + +ast::Type Builder::TypesBuilder::u32(const Source& source) const { + return AsType(source, "u32"); +} + +ast::Type Builder::TypesBuilder::i8() const { + return AsType("i8"); +} + +ast::Type Builder::TypesBuilder::i8(const Source& source) const { + return AsType(source, "i8"); +} + +ast::Type Builder::TypesBuilder::u8() const { + return AsType("u8"); +} + +ast::Type Builder::TypesBuilder::u8(const Source& source) const { + return AsType(source, "u8"); +} + +ast::Type Builder::TypesBuilder::vec(ast::Type type, uint32_t n) const { + return vec(builder->source_, type, n); +} + +ast::Type Builder::TypesBuilder::vec(const Source& source, ast::Type type, uint32_t n) const { + switch (n) { + case 2: + return vec2(source, type); + case 3: + return vec3(source, type); + case 4: + return vec4(source, type); + } + TINT_ICE() << "invalid vector width " << n; +} + +ast::Type Builder::TypesBuilder::vec2(ast::Type type) const { + return vec2(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::vec2(const Source& source, ast::Type type) const { + return AsType(source, "vec2", type); +} + +ast::Type Builder::TypesBuilder::vec3(ast::Type type) const { + return vec3(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::vec3(const Source& source, ast::Type type) const { + return AsType(source, "vec3", type); +} + +ast::Type Builder::TypesBuilder::vec4(ast::Type type) const { + return vec4(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::vec4(const Source& source, ast::Type type) const { + return AsType(source, "vec4", type); +} + +ast::Type Builder::TypesBuilder::mat(ast::Type type, uint32_t columns, uint32_t rows) const { + return mat(builder->source_, type, columns, rows); +} + +ast::Type Builder::TypesBuilder::mat(const Source& source, + ast::Type type, + uint32_t columns, + uint32_t rows) const { + if (DAWN_LIKELY(columns >= 2 && columns <= 4 && rows >= 2 && rows <= 4)) { + static constexpr std::array names = { + "mat2x2", "mat2x3", "mat2x4", // + "mat3x2", "mat3x3", "mat3x4", // + "mat4x2", "mat4x3", "mat4x4", // + }; + auto i = (columns - 2) * 3 + (rows - 2); + return AsType(source, names[i], type); + } + TINT_ICE() << "invalid matrix dimensions " << columns << "x" << rows; +} + +ast::Type Builder::TypesBuilder::mat2x2(ast::Type type) const { + return mat2x2(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat2x3(ast::Type type) const { + return mat2x3(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat2x4(ast::Type type) const { + return mat2x4(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat3x2(ast::Type type) const { + return mat3x2(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat3x3(ast::Type type) const { + return mat3x3(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat3x4(ast::Type type) const { + return mat3x4(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat4x2(ast::Type type) const { + return mat4x2(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat4x3(ast::Type type) const { + return mat4x3(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat4x4(ast::Type type) const { + return mat4x4(builder->source_, type); +} + +ast::Type Builder::TypesBuilder::mat2x2(const Source& source) const { + return AsType(source, "mat2x2"); +} + +ast::Type Builder::TypesBuilder::mat2x2(const Source& source, ast::Type type) const { + return AsType(source, "mat2x2", type); +} + +ast::Type Builder::TypesBuilder::mat2x3(const Source& source) const { + return AsType(source, "mat2x3"); +} + +ast::Type Builder::TypesBuilder::mat2x3(const Source& source, ast::Type type) const { + return AsType(source, "mat2x3", type); +} + +ast::Type Builder::TypesBuilder::mat2x4(const Source& source) const { + return AsType(source, "mat2x4"); +} + +ast::Type Builder::TypesBuilder::mat2x4(const Source& source, ast::Type type) const { + return AsType(source, "mat2x4", type); +} + +ast::Type Builder::TypesBuilder::mat3x2(const Source& source) const { + return AsType(source, "mat3x2"); +} + +ast::Type Builder::TypesBuilder::mat3x2(const Source& source, ast::Type type) const { + return AsType(source, "mat3x2", type); +} + +ast::Type Builder::TypesBuilder::mat3x3(const Source& source) const { + return AsType(source, "mat3x3"); +} + +ast::Type Builder::TypesBuilder::mat3x3(const Source& source, ast::Type type) const { + return AsType(source, "mat3x3", type); +} + +ast::Type Builder::TypesBuilder::mat3x4(const Source& source) const { + return AsType(source, "mat3x4"); +} + +ast::Type Builder::TypesBuilder::mat3x4(const Source& source, ast::Type type) const { + return AsType(source, "mat3x4", type); +} + +ast::Type Builder::TypesBuilder::mat4x2(const Source& source) const { + return AsType(source, "mat4x2"); +} + +ast::Type Builder::TypesBuilder::mat4x2(const Source& source, ast::Type type) const { + return AsType(source, "mat4x2", type); +} + +ast::Type Builder::TypesBuilder::mat4x3(const Source& source) const { + return AsType(source, "mat4x3"); +} + +ast::Type Builder::TypesBuilder::mat4x3(const Source& source, ast::Type type) const { + return AsType(source, "mat4x3", type); +} + +ast::Type Builder::TypesBuilder::mat4x4(const Source& source) const { + return AsType(source, "mat4x4"); +} + +ast::Type Builder::TypesBuilder::mat4x4(const Source& source, ast::Type type) const { + return AsType(source, "mat4x4", type); +} + +ast::Type Builder::TypesBuilder::array(const Source& source) const { + return AsType(source, "array"); +} + +ast::Type Builder::TypesBuilder::array() const { + return array(builder->source_); +} + +ast::Type Builder::TypesBuilder::array(ast::Type subtype) const { + return array(builder->source_, subtype); +} + +ast::Type Builder::TypesBuilder::array(const Source& source, ast::Type subtype) const { + return ast::Type{ + builder->Expr(builder->create(source, builder->Sym("array"), + Vector{ + subtype.expr, + }))}; +} + +ast::Type Builder::TypesBuilder::array(ast::Type subtype, uint32_t n) const { + return array(builder->source_, subtype, core::u32(n)); +} + +ast::Type Builder::TypesBuilder::array(ast::Type subtype, const ast::Const* expr) const { + return array(builder->source_, subtype, expr); +} + +ast::Type Builder::TypesBuilder::array(ast::Type subtype, const ast::Expression* expr) const { + return array(builder->source_, subtype, expr); +} + +ast::Type Builder::TypesBuilder::array(ast::Type subtype, const ast::Override* expr) const { + return array(builder->source_, subtype, expr); +} + +ast::Type Builder::TypesBuilder::array(const Source& source, ast::Type subtype, uint32_t n) const { + if (n == 0) { + return AsType(source, "array", subtype); + } + return AsType(source, "array", subtype, core::u32(n)); +} + +ast::Type Builder::TypesBuilder::array(const Source& source, + ast::Type subtype, + const ast::Const* expr) const { + if (expr == nullptr) { + return AsType(source, "array", subtype); + } + return AsType(source, "array", subtype, expr); +} + +ast::Type Builder::TypesBuilder::array(const Source& source, + ast::Type subtype, + const ast::Expression* expr) const { + if (expr == nullptr) { + return AsType(source, "array", subtype); + } + return AsType(source, "array", subtype, expr); +} + +ast::Type Builder::TypesBuilder::array(const Source& source, + ast::Type subtype, + const ast::Override* expr) const { + if (expr == nullptr) { + return AsType(source, "array", subtype); + } + return AsType(source, "array", subtype, expr); +} + +const ast::Alias* Builder::TypesBuilder::alias(std::string_view name, ast::Type type) const { + return alias(builder->source_, builder->Ident(name), type); +} + +const ast::Alias* Builder::TypesBuilder::alias(Symbol name, ast::Type type) const { + return alias(builder->source_, builder->Ident(name), type); +} + +const ast::Alias* Builder::TypesBuilder::alias(const Source& source, + const ast::Identifier* name, + ast::Type type) const { + return builder->create(source, builder->Ident(name), type); +} + +ast::Type Builder::TypesBuilder::ptr(core::AddressSpace address_space, + ast::Type type, + core::Access access) const { + return ptr(builder->source_, address_space, type, access); +} + +ast::Type Builder::TypesBuilder::ptr(const Source& source, + core::AddressSpace address_space, + ast::Type type, + core::Access access) const { + if (access != core::Access::kUndefined) { + return AsType(source, "ptr", address_space, type, access); + } + return AsType(source, "ptr", address_space, type); +} + +ast::Type Builder::TypesBuilder::atomic(const Source& source, ast::Type type) const { + return AsType(source, "atomic", type); +} + +ast::Type Builder::TypesBuilder::atomic(ast::Type type) const { + return AsType("atomic", type); +} + +ast::Type Builder::TypesBuilder::sampler(core::type::SamplerKind kind) const { + return sampler(builder->source_, kind); +} + +ast::Type Builder::TypesBuilder::sampler(core::SamplerFiltering filtering) const { + return sampler(builder->source_, filtering); +} + +ast::Type Builder::TypesBuilder::sampler(const Source& source, core::type::SamplerKind kind) const { + switch (kind) { + case core::type::SamplerKind::kSampler: + return AsType(source, "sampler"); + case core::type::SamplerKind::kComparisonSampler: + return AsType(source, "sampler_comparison"); + } + TINT_ICE() << "invalid sampler kind " << kind; +} + +ast::Type Builder::TypesBuilder::sampler(const Source& source, + core::SamplerFiltering filtering) const { + TINT_ASSERT(filtering == core::SamplerFiltering::kFiltering || + filtering == core::SamplerFiltering::kNonFiltering); + + return AsType(source, "sampler", filtering); +} + +ast::Type Builder::TypesBuilder::depth_texture(core::type::TextureDimension dims) const { + return depth_texture(builder->source_, dims); +} + +ast::Type Builder::TypesBuilder::depth_texture(const Source& source, + core::type::TextureDimension dims) const { + switch (dims) { + case core::type::TextureDimension::k2d: + return AsType(source, "texture_depth_2d"); + case core::type::TextureDimension::k2dArray: + return AsType(source, "texture_depth_2d_array"); + case core::type::TextureDimension::kCube: + return AsType(source, "texture_depth_cube"); + case core::type::TextureDimension::kCubeArray: + return AsType(source, "texture_depth_cube_array"); + default: + break; + } + TINT_ICE() << "invalid depth_texture dimensions: " << dims; +} + +ast::Type Builder::TypesBuilder::depth_multisampled_texture( + core::type::TextureDimension dims) const { + return depth_multisampled_texture(builder->source_, dims); +} + +ast::Type Builder::TypesBuilder::depth_multisampled_texture( + const Source& source, + core::type::TextureDimension dims) const { + if (dims == core::type::TextureDimension::k2d) { + return AsType(source, "texture_depth_multisampled_2d"); + } + TINT_ICE() << "invalid depth_multisampled_texture dimensions: " << dims; +} + +ast::Type Builder::TypesBuilder::sampled_texture(core::type::TextureDimension dims, + ast::Type subtype) const { + return sampled_texture(builder->source_, dims, subtype); +} + +ast::Type Builder::TypesBuilder::sampled_texture(const Source& source, + core::type::TextureDimension dims, + ast::Type subtype) const { + switch (dims) { + case core::type::TextureDimension::k1d: + return AsType(source, "texture_1d", subtype); + case core::type::TextureDimension::k2d: + return AsType(source, "texture_2d", subtype); + case core::type::TextureDimension::k3d: + return AsType(source, "texture_3d", subtype); + case core::type::TextureDimension::k2dArray: + return AsType(source, "texture_2d_array", subtype); + case core::type::TextureDimension::kCube: + return AsType(source, "texture_cube", subtype); + case core::type::TextureDimension::kCubeArray: + return AsType(source, "texture_cube_array", subtype); + default: + break; + } + TINT_ICE() << "invalid sampled_texture dimensions: " << dims; +} + +ast::Type Builder::TypesBuilder::sampled_texture(core::type::TextureDimension dims, + ast::Type subtype, + core::TextureFilterable filterable) const { + return sampled_texture(builder->source_, dims, subtype, filterable); +} + +ast::Type Builder::TypesBuilder::sampled_texture(const Source& source, + core::type::TextureDimension dims, + ast::Type subtype, + core::TextureFilterable filterable) const { + TINT_ASSERT(filterable == core::TextureFilterable::kFilterable || + filterable == core::TextureFilterable::kUnfilterable); + + std::string_view name; + switch (dims) { + case core::type::TextureDimension::k1d: + name = "texture_1d"; + break; + case core::type::TextureDimension::k2d: + name = "texture_2d"; + break; + case core::type::TextureDimension::k3d: + name = "texture_3d"; + break; + case core::type::TextureDimension::k2dArray: + name = "texture_2d_array"; + break; + case core::type::TextureDimension::kCube: + name = "texture_cube"; + break; + case core::type::TextureDimension::kCubeArray: + name = "texture_cube_array"; + break; + default: + TINT_ICE() << "invalid sampled_texture dimensions: " << dims; + } + + return ast::Type{builder->Expr( + builder->create(source, builder->Sym(name), + Vector{ + subtype.expr, + builder->Expr(builder->Ident(filterable)), + }))}; +} + +ast::Type Builder::TypesBuilder::multisampled_texture(core::type::TextureDimension dims, + ast::Type subtype) const { + return multisampled_texture(builder->source_, dims, subtype); +} + +ast::Type Builder::TypesBuilder::multisampled_texture(const Source& source, + core::type::TextureDimension dims, + ast::Type subtype) const { + if (dims == core::type::TextureDimension::k2d) { + return AsType(source, "texture_multisampled_2d", subtype); + } + TINT_ICE() << "invalid multisampled_texture dimensions: " << dims; +} + +ast::Type Builder::TypesBuilder::storage_texture(core::type::TextureDimension dims, + core::TexelFormat format, + core::Access access) const { + return storage_texture(builder->source_, dims, format, access); +} + +ast::Type Builder::TypesBuilder::storage_texture(const Source& source, + core::type::TextureDimension dims, + core::TexelFormat format, + core::Access access) const { + switch (dims) { + case core::type::TextureDimension::k1d: + return AsType(source, "texture_storage_1d", format, access); + case core::type::TextureDimension::k2d: + return AsType(source, "texture_storage_2d", format, access); + case core::type::TextureDimension::k2dArray: + return AsType(source, "texture_storage_2d_array", format, access); + case core::type::TextureDimension::k3d: + return AsType(source, "texture_storage_3d", format, access); + default: + break; + } + TINT_ICE() << "invalid storage_texture dimensions: " << dims; +} + +ast::Type Builder::TypesBuilder::texel_buffer(core::TexelFormat format, core::Access access) const { + return texel_buffer(builder->source_, format, access); +} + +ast::Type Builder::TypesBuilder::texel_buffer(const Source& source, + core::TexelFormat format, + core::Access access) const { + return AsType(source, "texel_buffer", format, access); +} + +ast::Type Builder::TypesBuilder::input_attachment(ast::Type subtype) const { + return AsType("input_attachment", subtype); +} + +ast::Type Builder::TypesBuilder::external_texture(const Source& source) const { + return AsType(source, "texture_external"); +} + +ast::Type Builder::TypesBuilder::external_texture() const { + return external_texture(builder->source_); +} + +ast::Type Builder::TypesBuilder::subgroup_matrix_result(ast::Type el, + uint32_t cols, + uint32_t rows) const { + return subgroup_matrix_result(builder->source_, el, cols, rows); +} + +ast::Type Builder::TypesBuilder::subgroup_matrix_result(const Source& source, + ast::Type el, + uint32_t cols, + uint32_t rows) const { + return subgroup_matrix_result(source, el, core::AInt(cols), core::AInt(rows)); +} + +ast::Type Builder::TypesBuilder::subgroup_matrix_right(ast::Type el, + uint32_t cols, + uint32_t rows) const { + return AsType("subgroup_matrix_right", el, core::AInt(cols), core::AInt(rows)); +} + +ast::Type Builder::TypesBuilder::subgroup_matrix_left(ast::Type el, + uint32_t cols, + uint32_t rows) const { + return AsType("subgroup_matrix_left", el, core::AInt(cols), core::AInt(rows)); +} + +ast::Type Builder::TypesBuilder::subgroup_matrix(core::SubgroupMatrixKind kind, + ast::Type el, + uint32_t cols, + uint32_t rows) const { + switch (kind) { + case core::SubgroupMatrixKind::kLeft: + return subgroup_matrix_left(el, cols, rows); + case core::SubgroupMatrixKind::kRight: + return subgroup_matrix_right(el, cols, rows); + case core::SubgroupMatrixKind::kResult: + return subgroup_matrix_result(el, cols, rows); + case core::SubgroupMatrixKind::kUndefined: + TINT_UNREACHABLE(); + } +} + +ast::Type Builder::TypesBuilder::buffer(uint32_t size) const { + if (size == 0) { + return AsType("buffer"); + } + return buffer(core::AInt(size)); +} + +ast::Type Builder::TypesBuilder::Of(const ast::TypeDecl* type) const { + return AsType(type->name->symbol); +} + } // namespace tint::ast diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.h index 7a1b8b767..e68ae178d 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/builder.h @@ -31,13 +31,11 @@ #include #include "src/tint/api/common/override_id.h" - #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/fluent_types.h" #include "src/tint/lang/core/interpolation.h" #include "src/tint/lang/core/number.h" #include "src/tint/lang/core/type/sampler_kind.h" -#include "src/tint/lang/core/type/texel_buffer.h" #include "src/tint/lang/core/type/texture_dimension.h" #include "src/tint/lang/wgsl/ast/alias.h" #include "src/tint/lang/wgsl/ast/assignment_statement.h" @@ -90,6 +88,7 @@ #include "src/tint/lang/wgsl/ast/switch_statement.h" #include "src/tint/lang/wgsl/ast/templated_identifier.h" #include "src/tint/lang/wgsl/ast/type.h" +#include "src/tint/lang/wgsl/ast/type_traits.h" #include "src/tint/lang/wgsl/ast/unary_op_expression.h" #include "src/tint/lang/wgsl/ast/var.h" #include "src/tint/lang/wgsl/ast/variable_decl_statement.h" @@ -104,81 +103,12 @@ #error "internal tint header being #included from tint.h" #endif -// Forward declarations namespace tint::ast { -class CloneContext; -class VariableDeclStatement; -} // namespace tint::ast - -namespace tint::ast { - -/// Evaluates to true if T is a Infer, AInt or AFloat. -template -static constexpr const bool IsInferOrAbstract = - std::is_same_v, core::fluent_types::Infer> || core::IsAbstract>; - -// Forward declare metafunction that evaluates to true iff T can be wrapped in a statement. -template -struct CanWrapInStatement; /// Builder is a mutable builder for AST nodes. /// To construct a Program, populate the builder and then `std::move` it to a /// Program. class Builder { - /// Evaluates to true if T is a Source - template - static constexpr const bool IsSource = std::is_same_v; - - /// Evaluates to true if T is a Number or bool. - template - static constexpr const bool IsScalar = - std::is_integral_v> || - std::is_floating_point_v> || std::is_same_v; - - /// Evaluates to true if T can be converted to an identifier. - template - static constexpr const bool IsIdentifierLike = std::is_same_v || // Symbol - std::is_enum_v || // Enum - traits::IsStringLike; // String - - /// A helper used to disable overloads if the first type in `TYPES` is a Source. Used to avoid - /// ambiguities in overloads that take a Source as the first parameter and those that - /// perfectly-forward the first argument. - template - using DisableIfSource = - std::enable_if_t>>>; - - /// A helper used to disable overloads if the first type in `TYPES` is a scalar type. Used to - /// avoid ambiguities in overloads that take a scalar as the first parameter and those that - /// perfectly-forward the first argument. - template - using DisableIfScalar = - std::enable_if_t>>>; - - /// A helper used to enable overloads if the first type in `TYPES` is a scalar type. Used to - /// avoid ambiguities in overloads that take a scalar as the first parameter and those that - /// perfectly-forward the first argument. - template - using EnableIfScalar = - std::enable_if_t>>>; - - /// A helper used to disable overloads if the first type in `TYPES` is a Vector or - /// VectorRef. - template - using DisableIfVectorLike = - std::enable_if_t>>>; - - /// A helper used to enable overloads if the first type in `TYPES` is identifier-like. - template - using EnableIfIdentifierLike = - std::enable_if_t>>>; - - /// A helper used to disable overloads if the first type in `TYPES` is Infer or an abstract - /// numeric. - template - using DisableIfInferOrAbstract = - std::enable_if_t>>>; - /// VarOptions is a helper for accepting an arbitrary number of order independent options for /// constructing an ast::Var. struct VarOptions { @@ -423,156 +353,145 @@ class Builder { return CToAST::get(this); } - /// @param type the type to return - /// @return type (passthrough) - ast::Type operator()(const ast::Type& type) const { return type; } + /// @param type the type + /// @return an ast::Type of the type declaration. + ast::Type Of(const ast::TypeDecl* type) const; - /// Creates a type - /// @param name the name - /// @param args the optional template arguments - /// @returns the type - template , - typename = std::enable_if_t, ast::Type>>> - ast::Type operator()(NAME&& name, ARGS&&... args) const { - if constexpr (traits::IsTypeOrDerived, ast::Expression>) { - static_assert(sizeof...(ARGS) == 0); - return {name}; - } else { - return {builder->Expr( - builder->Ident(std::forward(name), std::forward(args)...))}; - } + /// @param sym the name of the type + /// @returns a type with the given name + ast::Type AsType(Symbol sym) const; + + /// @param source the source + /// @param sym the name of the type + /// @returns a type with the given name + ast::Type AsType(const Source& source, Symbol sym) const; + + /// @param name the name of the type + /// @returns a type with the given name + ast::Type AsType(std::string_view name) const; + + /// @param source the source + /// @param name the name of the type + /// @returns a type with the given name + ast::Type AsType(const Source& source, std::string_view name) const; + + /// @param name the name of the type + /// @returns a type with the given name + template + ast::Type AsType(std::string_view name, ARGS&&... args) const { + return AsType(builder->source_, name, std::forward(args)...); } - /// Creates a type - /// @param source the Source of the node - /// @param name the name - /// @param args the optional template arguments - /// @returns the type - template , ast::Type>>> - ast::Type operator()(const Source& source, NAME&& name, ARGS&&... args) const { - return {builder->Expr( - builder->Ident(source, std::forward(name), std::forward(args)...))}; + /// @param source the source + /// @param name the name of the type + /// @returns a type with the given name + template + ast::Type AsType(const Source& source, std::string_view name, ARGS&&... args) const { + return {builder->Expr(builder->Ident(source, name, std::forward(args)...))}; } + /// @param ident the name of the type + /// @returns a type with the given name + ast::Type AsType(const ast::IdentifierExpression* ident) const; + /// @returns a a nullptr expression wrapped in an ast::Type - ast::Type void_() const { return ast::Type{}; } + ast::Type void_() const; /// @returns a 'bool' type - ast::Type bool_() const { return (*this)("bool"); } + ast::Type bool_() const; /// @param source the Source of the node /// @returns a 'bool' type - ast::Type bool_(const Source& source) const { return (*this)(source, "bool"); } + ast::Type bool_(const Source& source) const; /// @returns a 'f16' type - ast::Type f16() const { return (*this)("f16"); } + ast::Type f16() const; /// @param source the Source of the node /// @returns a 'f16' type - ast::Type f16(const Source& source) const { return (*this)(source, "f16"); } + ast::Type f16(const Source& source) const; /// @returns a 'f32' type - ast::Type f32() const { return (*this)("f32"); } + ast::Type f32() const; /// @param source the Source of the node /// @returns a 'f32' type - ast::Type f32(const Source& source) const { return (*this)(source, "f32"); } + ast::Type f32(const Source& source) const; /// @returns a 'i32' type - ast::Type i32() const { return (*this)("i32"); } + ast::Type i32() const; /// @param source the Source of the node /// @returns a 'i32' type - ast::Type i32(const Source& source) const { return (*this)(source, "i32"); } + ast::Type i32(const Source& source) const; /// @returns a 'u32' type - ast::Type u32() const { return (*this)("u32"); } + ast::Type u32() const; /// @param source the Source of the node /// @returns a 'u32' type - ast::Type u32(const Source& source) const { return (*this)(source, "u32"); } + ast::Type u32(const Source& source) const; /// @returns a 'i8' type - ast::Type i8() const { return (*this)("i8"); } + ast::Type i8() const; /// @param source the Source of the node /// @returns a 'i8' type - ast::Type i8(const Source& source) const { return (*this)(source, "i8"); } + ast::Type i8(const Source& source) const; /// @returns a 'u8' type - ast::Type u8() const { return (*this)("u8"); } + ast::Type u8() const; /// @param source the Source of the node /// @returns a 'u8' type - ast::Type u8(const Source& source) const { return (*this)(source, "u8"); } + ast::Type u8(const Source& source) const; /// @param type vector subtype /// @param n vector width in elements /// @return a @p n element vector of @p type - ast::Type vec(ast::Type type, uint32_t n) const { return vec(builder->source_, type, n); } + ast::Type vec(ast::Type type, uint32_t n) const; /// @param source the Source of the node /// @param type vector subtype /// @param n vector width in elements /// @return a @p n element vector of @p type - ast::Type vec(const Source& source, ast::Type type, uint32_t n) const { - switch (n) { - case 2: - return vec2(source, type); - case 3: - return vec3(source, type); - case 4: - return vec4(source, type); - } - TINT_ICE() << "invalid vector width " << n; - return ast::Type{}; - } + ast::Type vec(const Source& source, ast::Type type, uint32_t n) const; /// @param type vector subtype /// @return a 2-element vector of @p type - ast::Type vec2(ast::Type type) const { return vec2(builder->source_, type); } + ast::Type vec2(ast::Type type) const; /// @param source the vector source /// @param type vector subtype /// @return a 2-element vector of @p type - ast::Type vec2(const Source& source, ast::Type type) const { - return (*this)(source, "vec2", type); - } + ast::Type vec2(const Source& source, ast::Type type) const; /// @param type vector subtype /// @return a 3-element vector of @p type - ast::Type vec3(ast::Type type) const { return vec3(builder->source_, type); } + ast::Type vec3(ast::Type type) const; /// @param source the vector source /// @param type vector subtype /// @return a 3-element vector of @p type - ast::Type vec3(const Source& source, ast::Type type) const { - return (*this)(source, "vec3", type); - } + ast::Type vec3(const Source& source, ast::Type type) const; /// @param type vector subtype /// @return a 4-element vector of @p type - ast::Type vec4(ast::Type type) const { return vec4(builder->source_, type); } + ast::Type vec4(ast::Type type) const; /// @param source the vector source /// @param type vector subtype /// @return a 4-element vector of @p type - ast::Type vec4(const Source& source, ast::Type type) const { - return (*this)(source, "vec4", type); - } + ast::Type vec4(const Source& source, ast::Type type) const; /// @param source the Source of the node /// @return a 2-element vector of the type `T` template ast::Type vec2(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "vec2"); + return AsType(source, "vec2"); } else { - return (*this)(source, "vec2", Of()); + return AsType(source, "vec2", Of()); } } @@ -581,9 +500,9 @@ class Builder { template ast::Type vec3(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "vec3"); + return AsType(source, "vec3"); } else { - return (*this)(source, "vec3", Of()); + return AsType(source, "vec3", Of()); } } @@ -592,28 +511,40 @@ class Builder { template ast::Type vec4(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "vec4"); + return AsType(source, "vec4"); } else { - return (*this)(source, "vec4", Of()); + return AsType(source, "vec4", Of()); } } /// @return a 2-element vector of the type `T` template ast::Type vec2() const { - return vec2(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("vec2"); + } else { + return vec2(Of()); + } } /// @return a 3-element vector of the type `T` template ast::Type vec3() const { - return vec3(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("vec3"); + } else { + return vec3(Of()); + } } /// @return a 4-element vector of the type `T` template ast::Type vec4() const { - return vec4(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("vec4"); + } else { + return vec4(Of()); + } } /// @param source the Source of the node @@ -630,236 +561,333 @@ class Builder { return vec4(source); } TINT_ICE() << "invalid vector width " << n; - return ast::Type{}; } /// @return a @p N element vector of @p type template ast::Type vec() const { - return vec(builder->source_, N); + return vec(N); } /// @param n vector width in elements /// @return a @p n element vector of @p type template ast::Type vec(uint32_t n) const { - return vec(builder->source_, n); + if constexpr (IsInferOrAbstract) { + return AsType("vec" + std::to_string(n)); + } else { + return vec(Of(), n); + } } /// @param type matrix subtype /// @param columns number of columns for the matrix /// @param rows number of rows for the matrix /// @return a matrix of @p type - ast::Type mat(ast::Type type, uint32_t columns, uint32_t rows) const { - return mat(builder->source_, type, columns, rows); - } + ast::Type mat(ast::Type type, uint32_t columns, uint32_t rows) const; /// @param source the Source of the node /// @param type matrix subtype /// @param columns number of columns for the matrix /// @param rows number of rows for the matrix /// @return a matrix of @p type - ast::Type mat(const Source& source, ast::Type type, uint32_t columns, uint32_t rows) const { - if (DAWN_LIKELY(columns >= 2 && columns <= 4 && rows >= 2 && rows <= 4)) { - static constexpr std::array names = { - "mat2x2", "mat2x3", "mat2x4", // - "mat3x2", "mat3x3", "mat3x4", // - "mat4x2", "mat4x3", "mat4x4", // - }; - auto i = (columns - 2) * 3 + (rows - 2); - return (*this)(source, names[i], type); - } - TINT_ICE() << "invalid matrix dimensions " << columns << "x" << rows; - return ast::Type{}; - } + ast::Type mat(const Source& source, ast::Type type, uint32_t columns, uint32_t rows) const; /// @param type matrix subtype /// @return a 2x3 matrix of @p type. - ast::Type mat2x2(ast::Type type) const { return (*this)("mat2x2", type); } + ast::Type mat2x2(ast::Type type) const; /// @param type matrix subtype /// @return a 2x3 matrix of @p type. - ast::Type mat2x3(ast::Type type) const { return (*this)("mat2x3", type); } + ast::Type mat2x3(ast::Type type) const; /// @param type matrix subtype /// @return a 2x4 matrix of @p type. - ast::Type mat2x4(ast::Type type) const { return (*this)("mat2x4", type); } + ast::Type mat2x4(ast::Type type) const; /// @param type matrix subtype /// @return a 3x2 matrix of @p type. - ast::Type mat3x2(ast::Type type) const { return (*this)("mat3x2", type); } + ast::Type mat3x2(ast::Type type) const; /// @param type matrix subtype /// @return a 3x3 matrix of @p type. - ast::Type mat3x3(ast::Type type) const { return (*this)("mat3x3", type); } + ast::Type mat3x3(ast::Type type) const; /// @param type matrix subtype /// @return a 3x4 matrix of @p type. - ast::Type mat3x4(ast::Type type) const { return (*this)("mat3x4", type); } + ast::Type mat3x4(ast::Type type) const; /// @param type matrix subtype /// @return a 4x2 matrix of @p type. - ast::Type mat4x2(ast::Type type) const { return (*this)("mat4x2", type); } + ast::Type mat4x2(ast::Type type) const; /// @param type matrix subtype /// @return a 4x3 matrix of @p type. - ast::Type mat4x3(ast::Type type) const { return (*this)("mat4x3", type); } + ast::Type mat4x3(ast::Type type) const; /// @param type matrix subtype /// @return a 4x4 matrix of @p type. - ast::Type mat4x4(ast::Type type) const { return (*this)("mat4x4", type); } + ast::Type mat4x4(ast::Type type) const; /// @param source the source of the type /// @return a 2x2 matrix of the type `T` template ast::Type mat2x2(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat2x2"); + return mat2x2(source); } else { - return (*this)(source, "mat2x2", Of()); + return mat2x2(source, Of()); } } + /// @param source the source of the type + /// @return a 2x2 matrix + ast::Type mat2x2(const Source& source) const; + + /// @param source the source of the type + /// @return a 2x2 matrix + ast::Type mat2x2(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 2x3 matrix of the type `T` template ast::Type mat2x3(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat2x3"); + return mat2x3(source); } else { - return (*this)(source, "mat2x3", Of()); + return mat2x3(source, Of()); } } + /// @param source the source of the type + /// @return a 2x3 matrix + ast::Type mat2x3(const Source& source) const; + + /// @param source the source of the type + /// @return a 2x3 matrix + ast::Type mat2x3(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 2x4 matrix of the type `T` template ast::Type mat2x4(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat2x4"); + return mat2x4(source); } else { - return (*this)(source, "mat2x4", Of()); + return mat2x4(source, Of()); } } + /// @param source the source of the type + /// @return a 2x4 matrix + ast::Type mat2x4(const Source& source) const; + + /// @param source the source of the type + /// @return a 2x4 matrix + ast::Type mat2x4(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 3x2 matrix of the type `T` template ast::Type mat3x2(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat3x2"); + return mat3x2(source); } else { - return (*this)(source, "mat3x2", Of()); + return mat3x2(source, Of()); } } + /// @param source the source of the type + /// @return a 3x2 matrix + ast::Type mat3x2(const Source& source) const; + + /// @param source the source of the type + /// @return a 3x2 matrix + ast::Type mat3x2(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 3x3 matrix of the type `T` template ast::Type mat3x3(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat3x3"); + return mat3x3(source); } else { - return (*this)(source, "mat3x3", Of()); + return mat3x3(source, Of()); } } + /// @param source the source of the type + /// @return a 3x3 matrix + ast::Type mat3x3(const Source& source) const; + + /// @param source the source of the type + /// @return a 3x3 matrix + ast::Type mat3x3(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 3x4 matrix of the type `T` template ast::Type mat3x4(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat3x4"); + return mat3x4(source); } else { - return (*this)(source, "mat3x4", Of()); + return mat3x4(source, Of()); } } + /// @param source the source of the type + /// @return a 3x4 matrix + ast::Type mat3x4(const Source& source) const; + + /// @param source the source of the type + /// @return a 3x4 matrix + ast::Type mat3x4(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 4x2 matrix of the type `T` template ast::Type mat4x2(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat4x2"); + return mat4x2(source); } else { - return (*this)(source, "mat4x2", Of()); + return mat4x2(source, Of()); } } + /// @param source the source of the type + /// @return a 4x2 matrix + ast::Type mat4x2(const Source& source) const; + + /// @param source the source of the type + /// @return a 4x2 matrix + ast::Type mat4x2(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 4x3 matrix of the type `T` template ast::Type mat4x3(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat4x3"); + return mat4x3(source); } else { - return (*this)(source, "mat4x3", Of()); + return mat4x3(source, Of()); } } + /// @param source the source of the type + /// @return a 4x3 matrix + ast::Type mat4x3(const Source& source) const; + + /// @param source the source of the type + /// @return a 4x3 matrix + ast::Type mat4x3(const Source& source, ast::Type type) const; + /// @param source the source of the type /// @return a 4x4 matrix of the type `T` template ast::Type mat4x4(const Source& source) const { if constexpr (IsInferOrAbstract) { - return (*this)(source, "mat4x4"); + return mat4x4(source); } else { - return (*this)(source, "mat4x4", Of()); + return mat4x4(source, Of()); } } + /// @param source the source of the type + /// @return a 4x4 matrix + ast::Type mat4x4(const Source& source) const; + + /// @param source the source of the type + /// @return a 4x4 matrix + ast::Type mat4x4(const Source& source, ast::Type type) const; + /// @return a 2x2 matrix of the type `T` template ast::Type mat2x2() const { - return mat2x2(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat2x2"); + } else { + return mat2x2(Of()); + } } /// @return a 2x3 matrix of the type `T` template ast::Type mat2x3() const { - return mat2x3(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat2x3"); + } else { + return mat2x3(Of()); + } } /// @return a 2x4 matrix of the type `T` template ast::Type mat2x4() const { - return mat2x4(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat2x4"); + } else { + return mat2x4(Of()); + } } /// @return a 3x2 matrix of the type `T` template ast::Type mat3x2() const { - return mat3x2(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat3x2"); + } else { + return mat3x2(Of()); + } } /// @return a 3x3 matrix of the type `T` template ast::Type mat3x3() const { - return mat3x3(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat3x3"); + } else { + return mat3x3(Of()); + } } /// @return a 3x4 matrix of the type `T` template ast::Type mat3x4() const { - return mat3x4(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat3x4"); + } else { + return mat3x4(Of()); + } } /// @return a 4x2 matrix of the type `T` template ast::Type mat4x2() const { - return mat4x2(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat4x2"); + } else { + return mat4x2(Of()); + } } /// @return a 4x3 matrix of the type `T` template ast::Type mat4x3() const { - return mat4x3(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat4x3"); + } else { + return mat4x3(Of()); + } } /// @return a 4x4 matrix of the type `T` template ast::Type mat4x4() const { - return mat4x4(builder->source_); + if constexpr (IsInferOrAbstract) { + return AsType("mat4x4"); + } else { + return mat4x4(Of()); + } } /// @param source the Source of the node @@ -889,7 +917,6 @@ class Builder { return mat4x4(source); default: TINT_ICE() << "invalid matrix dimensions " << columns << "x" << rows; - return ast::Type{}; } } @@ -898,69 +925,105 @@ class Builder { /// @return a matrix of @p type template ast::Type mat(uint32_t columns, uint32_t rows) const { - return mat(builder->source_, columns, rows); + switch ((columns - 2) * 3 + (rows - 2)) { + case 0: + return mat2x2(); + case 1: + return mat2x3(); + case 2: + return mat2x4(); + case 3: + return mat3x2(); + case 4: + return mat3x3(); + case 5: + return mat3x4(); + case 6: + return mat4x2(); + case 7: + return mat4x3(); + case 8: + return mat4x4(); + default: + TINT_ICE() << "invalid matrix dimensions " << columns << "x" << rows; + } } /// @return a matrix of @p type template ast::Type mat() const { - return mat(builder->source_, COLUMNS, ROWS); + return mat(COLUMNS, ROWS); } + /// @return an array of abstract type + ast::Type array() const; + + /// @param source the source + /// @return an array of abstract type + ast::Type array(const Source& source) const; + /// @param subtype the array element type /// @return an array of type `T` - ast::Type array(ast::Type subtype) const { return array(builder->source_, subtype); } + ast::Type array(ast::Type subtype) const; /// @param source the Source of the node /// @param subtype the array element type /// @return an array of type `T` - ast::Type array(const Source& source, ast::Type subtype) const { - return ast::Type{builder->Expr( - builder->create(source, builder->Sym("array"), - Vector{ - subtype.expr, - }))}; - } + ast::Type array(const Source& source, ast::Type subtype) const; /// @param subtype the array element type - /// @param n the array size. nullptr represents a runtime-array + /// @param n the array size. /// @return an array of size `n` of type `T` - template > - ast::Type array(ast::Type subtype, COUNT&& n) const { - return array(builder->source_, subtype, std::forward(n)); - } + ast::Type array(ast::Type subtype, uint32_t n) const; + + /// @param subtype the array element type + /// @param expr the array size. nullptr means runtime array + /// @return an array of size `n` of type `T` + ast::Type array(ast::Type subtype, const ast::Const* expr) const; + + /// @param subtype the array element type + /// @param expr the array size. nullptr means runtime array + /// @return an array of size `n` of type `T` + ast::Type array(ast::Type subtype, const ast::Expression* expr) const; + + /// @param subtype the array element type + /// @param expr the array size. nullptr means runtime array + /// @return an array of size `n` of type `T` + ast::Type array(ast::Type subtype, const ast::Override* expr) const; /// @param source the Source of the node /// @param subtype the array element type - /// @param n the array size. nullptr represents a runtime-array + /// @param n the array size. /// @return an array of size `n` of type `T` - template > - ast::Type array(const Source& source, ast::Type subtype, COUNT&& n) const { - return ast::Type{builder->Expr( - builder->create(source, builder->Sym("array"), - Vector{ - subtype.expr, - builder->Expr(std::forward(n)), - }))}; - } + ast::Type array(const Source& source, ast::Type subtype, uint32_t n) const; + + /// @param source the Source of the node + /// @param subtype the array element type + /// @param expr the array size. nullptr means runtime array + /// @return an array of size `n` of type `T` + ast::Type array(const Source& source, ast::Type subtype, const ast::Const* expr) const; + + /// @param source the Source of the node + /// @param subtype the array element type + /// @param expr the array size. nullptr means runtime array + /// @return an array of size `n` of type `T` + ast::Type array(const Source& source, ast::Type subtype, const ast::Expression* expr) const; + + /// @param source the Source of the node + /// @param subtype the array element type + /// @param expr the array size. nullptr means runtime array + /// @return an array of size `n` of type `T` + ast::Type array(const Source& source, ast::Type subtype, const ast::Override* expr) const; /// @param source the Source of the node /// @return a inferred-size or runtime-sized array of type `T` template > ast::Type array(const Source& source) const { if constexpr (N == 0) { - return ast::Type{builder->Expr( - builder->create(source, builder->Sym("array"), - Vector{ - Of().expr, - }))}; + ast::Expression* expr = nullptr; + return array(source, Of(), expr); } else { - return ast::Type{builder->Expr(builder->create( - source, builder->Sym("array"), - Vector{ - Of().expr, - builder->Expr(builder->source_, core::u32(N)), - }))}; + return array(source, Of(), uint32_t(N)); } } @@ -969,9 +1032,9 @@ class Builder { ast::Type array() const { if constexpr (std::is_same_v) { static_assert(N == 0, "arrays with a count cannot be inferred"); - return (*this)(builder->source_, "array"); + return array(); } else { - return array(builder->source_); + return array(Of(), uint32_t(N)); } } @@ -979,21 +1042,22 @@ class Builder { /// @param name the alias name /// @param type the alias type /// @returns the alias pointer - template - const ast::Alias* alias(NAME&& name, ast::Type type) const { - return alias(builder->source_, std::forward(name), type); - } + const ast::Alias* alias(std::string_view name, ast::Type type) const; + + /// Creates an alias type + /// @param name the alias name + /// @param type the alias type + /// @returns the alias pointer + const ast::Alias* alias(Symbol name, ast::Type type) const; /// Creates an alias type /// @param source the Source of the node /// @param name the alias name /// @param type the alias type /// @returns the alias pointer - template - const ast::Alias* alias(const Source& source, NAME&& name, ast::Type type) const { - return builder->create(source, builder->Ident(std::forward(name)), - type); - } + const ast::Alias* alias(const Source& source, + const ast::Identifier* name, + ast::Type type) const; /// @param address_space the address space of the pointer /// @param type the type of the pointer @@ -1001,9 +1065,7 @@ class Builder { /// @return the pointer to `type` with the given core::AddressSpace ast::Type ptr(core::AddressSpace address_space, ast::Type type, - core::Access access = core::Access::kUndefined) const { - return ptr(builder->source_, address_space, type, access); - } + core::Access access = core::Access::kUndefined) const; /// @param source the Source of the node /// @param address_space the address space of the pointer @@ -1013,13 +1075,7 @@ class Builder { ast::Type ptr(const Source& source, core::AddressSpace address_space, ast::Type type, - core::Access access = core::Access::kUndefined) const { - if (access != core::Access::kUndefined) { - return (*this)(source, "ptr", address_space, type, access); - } else { - return (*this)(source, "ptr", address_space, type); - } - } + core::Access access = core::Access::kUndefined) const; /// @param address_space the address space of the pointer /// @param access the optional access control of the pointer @@ -1027,7 +1083,7 @@ class Builder { template ast::Type ptr(core::AddressSpace address_space, core::Access access = core::Access::kUndefined) const { - return ptr(builder->source_, address_space, access); + return ptr(address_space, Of(), access); } /// @param source the Source of the node @@ -1045,7 +1101,7 @@ class Builder { /// access control `ACCESS`. template ast::Type ptr(ast::Type type) const { - return ptr(builder->source_, ADDRESS, type, ACCESS); + return ptr(ADDRESS, type, ACCESS); } /// @param source the Source of the node @@ -1063,7 +1119,7 @@ class Builder { typename T, core::Access ACCESS = core::Access::kUndefined> ast::Type ptr() const { - return ptr(builder->source_, ADDRESS, ACCESS); + return ptr(ADDRESS, ACCESS); } /// @param source the Source of the node @@ -1076,22 +1132,20 @@ class Builder { core::AddressSpace address_space, core::Access access = core::Access::kUndefined) const { if (access != core::Access::kUndefined) { - return (*this)(source, "ptr", address_space, Of(), access); + return ptr(source, address_space, Of(), access); } else { - return (*this)(source, "ptr", address_space, Of()); + return ptr(source, address_space, Of()); } } /// @param source the Source of the node /// @param type the type of the atomic /// @return the atomic to `type` - ast::Type atomic(const Source& source, ast::Type type) const { - return (*this)(source, "atomic", type); - } + ast::Type atomic(const Source& source, ast::Type type) const; /// @param type the type of the atomic /// @return the atomic to `type` - ast::Type atomic(ast::Type type) const { return (*this)("atomic", type); } + ast::Type atomic(ast::Type type) const; /// @return the atomic to type `T` template @@ -1101,74 +1155,53 @@ class Builder { /// @param kind the kind of sampler /// @returns the sampler - ast::Type sampler(core::type::SamplerKind kind) const { - return sampler(builder->source_, kind); - } + ast::Type sampler(core::type::SamplerKind kind) const; + + /// @param filtering the filtering setting + /// @returns the sampler + ast::Type sampler(core::SamplerFiltering filtering) const; /// @param source the Source of the node /// @param kind the kind of sampler /// @returns the sampler - ast::Type sampler(const Source& source, core::type::SamplerKind kind) const { - switch (kind) { - case core::type::SamplerKind::kSampler: - return (*this)(source, "sampler"); - case core::type::SamplerKind::kComparisonSampler: - return (*this)(source, "sampler_comparison"); - } - TINT_ICE() << "invalid sampler kind " << kind; - return ast::Type{}; - } + ast::Type sampler(const Source& source, core::type::SamplerKind kind) const; + + /// @param source the Source of the node + /// @param filtering the sampler filtering + /// @returns the sampler + ast::Type sampler(const Source& source, core::SamplerFiltering filtering) const; /// @param dims the dimensionality of the texture /// @returns the depth texture - ast::Type depth_texture(core::type::TextureDimension dims) const { - return depth_texture(builder->source_, dims); - } + ast::Type depth_texture(core::type::TextureDimension dims) const; /// @param source the Source of the node /// @param dims the dimensionality of the texture /// @returns the depth texture - ast::Type depth_texture(const Source& source, core::type::TextureDimension dims) const { - switch (dims) { - case core::type::TextureDimension::k2d: - return (*this)(source, "texture_depth_2d"); - case core::type::TextureDimension::k2dArray: - return (*this)(source, "texture_depth_2d_array"); - case core::type::TextureDimension::kCube: - return (*this)(source, "texture_depth_cube"); - case core::type::TextureDimension::kCubeArray: - return (*this)(source, "texture_depth_cube_array"); - default: - break; - } - TINT_ICE() << "invalid depth_texture dimensions: " << dims; - return ast::Type{}; - } + ast::Type depth_texture(const Source& source, core::type::TextureDimension dims) const; /// @param dims the dimensionality of the texture /// @returns the multisampled depth texture - ast::Type depth_multisampled_texture(core::type::TextureDimension dims) const { - return depth_multisampled_texture(builder->source_, dims); - } + ast::Type depth_multisampled_texture(core::type::TextureDimension dims) const; /// @param source the Source of the node /// @param dims the dimensionality of the texture /// @returns the multisampled depth texture ast::Type depth_multisampled_texture(const Source& source, - core::type::TextureDimension dims) const { - if (dims == core::type::TextureDimension::k2d) { - return (*this)(source, "texture_depth_multisampled_2d"); - } - TINT_ICE() << "invalid depth_multisampled_texture dimensions: " << dims; - return ast::Type{}; - } + core::type::TextureDimension dims) const; /// @param dims the dimensionality of the texture /// @param subtype the texture subtype. /// @returns the sampled texture - ast::Type sampled_texture(core::type::TextureDimension dims, ast::Type subtype) const { - return sampled_texture(builder->source_, dims, subtype); - } + ast::Type sampled_texture(core::type::TextureDimension dims, ast::Type subtype) const; + + /// @param dims the dimensionality of the texture + /// @param subtype the texture subtype. + /// @param filterable the filterability + /// @returns the sampled texture + ast::Type sampled_texture(core::type::TextureDimension dims, + ast::Type subtype, + core::TextureFilterable filterable) const; /// @param source the Source of the node /// @param dims the dimensionality of the texture @@ -1176,33 +1209,22 @@ class Builder { /// @returns the sampled texture ast::Type sampled_texture(const Source& source, core::type::TextureDimension dims, - ast::Type subtype) const { - switch (dims) { - case core::type::TextureDimension::k1d: - return (*this)(source, "texture_1d", subtype); - case core::type::TextureDimension::k2d: - return (*this)(source, "texture_2d", subtype); - case core::type::TextureDimension::k3d: - return (*this)(source, "texture_3d", subtype); - case core::type::TextureDimension::k2dArray: - return (*this)(source, "texture_2d_array", subtype); - case core::type::TextureDimension::kCube: - return (*this)(source, "texture_cube", subtype); - case core::type::TextureDimension::kCubeArray: - return (*this)(source, "texture_cube_array", subtype); - default: - break; - } - TINT_ICE() << "invalid sampled_texture dimensions: " << dims; - return ast::Type{}; - } + ast::Type subtype) const; + + /// @param source the Source of the node + /// @param dims the dimensionality of the texture + /// @param subtype the texture subtype. + /// @param filterable the filterability + /// @returns the sampled texture + ast::Type sampled_texture(const Source& source, + core::type::TextureDimension dims, + ast::Type subtype, + core::TextureFilterable filterable) const; /// @param dims the dimensionality of the texture /// @param subtype the texture subtype. /// @returns the multisampled texture - ast::Type multisampled_texture(core::type::TextureDimension dims, ast::Type subtype) const { - return multisampled_texture(builder->source_, dims, subtype); - } + ast::Type multisampled_texture(core::type::TextureDimension dims, ast::Type subtype) const; /// @param source the Source of the node /// @param dims the dimensionality of the texture @@ -1210,13 +1232,7 @@ class Builder { /// @returns the multisampled texture ast::Type multisampled_texture(const Source& source, core::type::TextureDimension dims, - ast::Type subtype) const { - if (dims == core::type::TextureDimension::k2d) { - return (*this)(source, "texture_multisampled_2d", subtype); - } - TINT_ICE() << "invalid multisampled_texture dimensions: " << dims; - return ast::Type{}; - } + ast::Type subtype) const; /// @param dims the dimensionality of the texture /// @param format the texel format of the texture @@ -1224,9 +1240,7 @@ class Builder { /// @returns the storage texture ast::Type storage_texture(core::type::TextureDimension dims, core::TexelFormat format, - core::Access access) const { - return storage_texture(builder->source_, dims, format, access); - } + core::Access access) const; /// @param source the Source of the node /// @param dims the dimensionality of the texture @@ -1236,43 +1250,81 @@ class Builder { ast::Type storage_texture(const Source& source, core::type::TextureDimension dims, core::TexelFormat format, - core::Access access) const { - switch (dims) { - case core::type::TextureDimension::k1d: - return (*this)(source, "texture_storage_1d", format, access); - case core::type::TextureDimension::k2d: - return (*this)(source, "texture_storage_2d", format, access); - case core::type::TextureDimension::k2dArray: - return (*this)(source, "texture_storage_2d_array", format, access); - case core::type::TextureDimension::k3d: - return (*this)(source, "texture_storage_3d", format, access); - default: - break; - } - TINT_ICE() << "invalid storage_texture dimensions: " << dims; - return ast::Type{}; - } - - /// @returns the external texture - ast::Type external_texture() const { return (*this)("texture_external"); } + core::Access access) const; + /// @param format the texel format + /// @param access the access control /// @returns the texel buffer - ast::Type texel_buffer(core::TexelFormat format, core::Access access) const { - return (*this)("texel_buffer", format, access); - } + ast::Type texel_buffer(core::TexelFormat format, core::Access access) const; + + /// @param source the source + /// @param format the texel format + /// @param access the access control + /// @returns the texel buffer + ast::Type texel_buffer(const Source& source, + core::TexelFormat format, + core::Access access) const; /// @param subtype the texture subtype. /// @returns the input attachment - ast::Type input_attachment(ast::Type subtype) const { - return (*this)("input_attachment", subtype); - } + ast::Type input_attachment(ast::Type subtype) const; /// @param source the Source of the node /// @returns the external texture - ast::Type external_texture(const Source& source) const { - return (*this)(source, "texture_external"); + ast::Type external_texture(const Source& source) const; + + /// @returns the external texture + ast::Type external_texture() const; + + /// @param el the subgroup matrix element type + /// @param cols the column count + /// @param rows the row count + /// @returns the subgroup matrix + template + requires(core::IsNumber && core::IsNumeric) + ast::Type subgroup_matrix_result(ast::Type el, C cols, R rows) const { + return AsType("subgroup_matrix_result", el, cols, rows); } + /// @param source the source + /// @param el the subgroup matrix element type + /// @param cols the column count + /// @param rows the row count + /// @returns the subgroup matrix + template + requires(core::IsNumber && core::IsNumeric) + ast::Type subgroup_matrix_result(const Source& source, ast::Type el, C cols, R rows) const { + return AsType(source, "subgroup_matrix_result", el, cols, rows); + } + + /// @param el the subgroup matrix element type + /// @param cols the column count + /// @param rows the row count + /// @returns the subgroup matrix + ast::Type subgroup_matrix_result(ast::Type el, uint32_t cols, uint32_t rows) const; + + /// @param source the source + /// @param el the subgroup matrix element type + /// @param cols the column count + /// @param rows the row count + /// @returns the subgroup matrix + ast::Type subgroup_matrix_result(const Source& source, + ast::Type el, + uint32_t cols, + uint32_t rows) const; + + /// @param el the subgroup matrix element type + /// @param cols the column count + /// @param rows the row count + /// @returns the subgroup matrix + ast::Type subgroup_matrix_right(ast::Type el, uint32_t cols, uint32_t rows) const; + + /// @param el the subgroup matrix element type + /// @param cols the column count + /// @param rows the row count + /// @returns the subgroup matrix + ast::Type subgroup_matrix_left(ast::Type el, uint32_t cols, uint32_t rows) const; + /// @param kind the subgroup matrix kind /// @param el the subgroup matrix element type /// @param cols the column count @@ -1281,51 +1333,28 @@ class Builder { ast::Type subgroup_matrix(core::SubgroupMatrixKind kind, ast::Type el, uint32_t cols, - uint32_t rows) const { - auto c = core::AInt(cols); - auto r = core::AInt(rows); - switch (kind) { - case core::SubgroupMatrixKind::kLeft: - return (*this)("subgroup_matrix_left", el, c, r); - case core::SubgroupMatrixKind::kRight: - return (*this)("subgroup_matrix_right", el, c, r); - case core::SubgroupMatrixKind::kResult: - return (*this)("subgroup_matrix_result", el, c, r); - case core::SubgroupMatrixKind::kUndefined: - TINT_UNREACHABLE(); - } + uint32_t rows) const; + + /// @param size the buffer size (0 is unsized) + /// @returns the buffer + template + requires(core::IsNumber) + ast::Type buffer(NUM size) const { + return AsType("buffer", size); } /// @param size the buffer size (0 is unsized) /// @returns the buffer - ast::Type buffer(uint32_t size = 0) const { - if (size == 0) { - return (*this)("buffer"); - } - auto n = core::AInt(size); - return (*this)("buffer", n); - } + ast::Type buffer(uint32_t size = 0) const; /// @param el the binding_array element type /// @param size the number of binding array elements /// @returns the binding array template > ast::Type binding_array(ast::Type el, COUNT&& size) const { - return ast::Type{builder->Expr(builder->create( - builder->source_, builder->Sym("binding_array"), - Vector{ - el.expr, - builder->Expr(std::forward(size)), - }))}; + return AsType("binding_array", el, std::forward(size)); } - /// @param type the type - /// @return an ast::Type of the type declaration. - ast::Type Of(const ast::TypeDecl* type) const { return (*this)(type->name->symbol); } - - /// The Builder - Builder* const builder; - private: /// CToAST is specialized for various `T` types and each specialization /// contains a single static `get()` method for obtaining the corresponding @@ -1334,6 +1363,9 @@ class Builder { /// `static ast::Type get(Types* t)` template struct CToAST {}; + + /// The Builder + Builder* const builder; }; ////////////////////////////////////////////////////////////////////////////// @@ -2550,9 +2582,25 @@ class Builder { /// @param name the alias name /// @param type the alias target type /// @returns the alias type - template - const ast::Alias* Alias(NAME&& name, ast::Type type) { - return Alias(source_, std::forward(name), type); + const ast::Alias* Alias(std::string_view name, ast::Type type) { + return Alias(source_, name, type); + } + + /// Creates a ast::Alias registering it with the AST().TypeDecls(). + /// @param name the alias name + /// @param type the alias target type + /// @returns the alias type + const ast::Alias* Alias(Symbol name, ast::Type type) { return Alias(source_, name, type); } + + /// Creates a ast::Alias registering it with the AST().TypeDecls(). + /// @param source the source information + /// @param name the alias name + /// @param type the alias target type + /// @returns the alias type + const ast::Alias* Alias(const Source& source, Symbol name, ast::Type type) { + auto out = ty.alias(source, Ident(name), type); + AST().AddTypeDecl(out); + return out; } /// Creates a ast::Alias registering it with the AST().TypeDecls(). @@ -2560,9 +2608,8 @@ class Builder { /// @param name the alias name /// @param type the alias target type /// @returns the alias type - template - const ast::Alias* Alias(const Source& source, NAME&& name, ast::Type type) { - auto out = ty.alias(source, std::forward(name), type); + const ast::Alias* Alias(const Source& source, std::string_view name, ast::Type type) { + auto out = ty.alias(source, Ident(name), type); AST().AddTypeDecl(out); return out; } diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/function.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/function.h index d3bd3e678..857be1d7c 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/function.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/function.h @@ -46,7 +46,6 @@ // Forward declarations namespace tint::ast { class Identifier; -class IdentifierExpression; } // namespace tint::ast namespace tint::ast { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/node.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/node.h index 281654edf..3ff7f65e0 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/node.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/node.h @@ -34,11 +34,6 @@ #include "src/tint/utils/diagnostic/source.h" #include "src/tint/utils/rtti/castable.h" -// Forward declarations -namespace tint::ast { -class CloneContext; -} - namespace tint::ast { /// AST base class node diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_align_attribute.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_align_attribute.h index c309f852c..14a0e9bd0 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_align_attribute.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_align_attribute.h @@ -29,6 +29,7 @@ #define SRC_TINT_LANG_WGSL_AST_STRUCT_MEMBER_ALIGN_ATTRIBUTE_H_ #include + #include #include "src/tint/lang/wgsl/ast/attribute.h" diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_size_attribute.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_size_attribute.h index 9203e36e0..6b68d53dc 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_size_attribute.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/struct_member_size_attribute.h @@ -29,6 +29,7 @@ #define SRC_TINT_LANG_WGSL_AST_STRUCT_MEMBER_SIZE_ATTRIBUTE_H_ #include + #include #include "src/tint/lang/wgsl/ast/attribute.h" diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/templated_identifier.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/templated_identifier.h index 328907d58..d1fc60292 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/templated_identifier.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/templated_identifier.h @@ -33,7 +33,6 @@ // Forward declarations namespace tint::ast { -class Attribute; class Expression; } // namespace tint::ast diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/type_traits.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/type_traits.h new file mode 100644 index 000000000..fa2013665 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/type_traits.h @@ -0,0 +1,104 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef SRC_TINT_LANG_WGSL_AST_TYPE_TRAITS_H_ +#define SRC_TINT_LANG_WGSL_AST_TYPE_TRAITS_H_ + +#include + +#include "src/tint/lang/core/fluent_types.h" +#include "src/tint/utils/diagnostic/source.h" +#include "src/tint/utils/symbol/symbol.h" + +namespace tint::ast { + +/// Evaluates to true if T is a Infer, AInt or AFloat. +template +static constexpr const bool IsInferOrAbstract = + std::is_same_v, core::fluent_types::Infer> || core::IsAbstract>; + +// Forward declare metafunction that evaluates to true iff T can be wrapped in a statement. +template +struct CanWrapInStatement; + +/// Evaluates to true if T is a Source +template +static constexpr const bool IsSource = std::is_same_v; + +/// Evaluates to true if T is a Number or bool. +template +static constexpr const bool IsScalar = + std::is_integral_v> || std::is_floating_point_v> || + std::is_same_v; + +/// Evaluates to true if T can be converted to an identifier. +template +static constexpr const bool IsIdentifierLike = std::is_same_v || // Symbol + std::is_enum_v || // Enum + traits::IsStringLike; // String + +/// A helper used to disable overloads if the first type in `TYPES` is a Source. Used to avoid +/// ambiguities in overloads that take a Source as the first parameter and those that +/// perfectly-forward the first argument. +template +using DisableIfSource = + std::enable_if_t>>>; + +/// A helper used to disable overloads if the first type in `TYPES` is a scalar type. Used to +/// avoid ambiguities in overloads that take a scalar as the first parameter and those that +/// perfectly-forward the first argument. +template +using DisableIfScalar = + std::enable_if_t>>>; + +/// A helper used to enable overloads if the first type in `TYPES` is a scalar type. Used to +/// avoid ambiguities in overloads that take a scalar as the first parameter and those that +/// perfectly-forward the first argument. +template +using EnableIfScalar = + std::enable_if_t>>>; + +/// A helper used to disable overloads if the first type in `TYPES` is a Vector or +/// VectorRef. +template +using DisableIfVectorLike = + std::enable_if_t>>>; + +/// A helper used to enable overloads if the first type in `TYPES` is identifier-like. +template +using EnableIfIdentifierLike = + std::enable_if_t>>>; + +/// A helper used to disable overloads if the first type in `TYPES` is Infer or an abstract +/// numeric. +template +using DisableIfInferOrAbstract = + std::enable_if_t>>>; + +} // namespace tint::ast + +#endif // SRC_TINT_LANG_WGSL_AST_TYPE_TRAITS_H_ diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.cc b/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.cc index 255794f16..044e2125a 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/wgsl/ast/variable.h" + #include "src/tint/lang/wgsl/ast/binding_attribute.h" #include "src/tint/lang/wgsl/ast/group_attribute.h" #include "src/tint/lang/wgsl/ast/templated_identifier.h" diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.h b/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.h index f454d14ee..4ad32e79d 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/ast/variable.h @@ -43,7 +43,6 @@ // Forward declarations namespace tint::ast { class Identifier; -class LocationAttribute; } // namespace tint::ast namespace tint::ast { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/enums.cc b/3rdparty/dawn/src/tint/lang/wgsl/enums.cc index 949d6458d..5b1b2c549 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/enums.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/enums.cc @@ -48,6 +48,9 @@ namespace tint::wgsl { /// @param str the string to parse /// @returns the parsed enum, or Extension::kUndefined if the string could not be parsed. Extension ParseExtension(std::string_view str) { + if (str == "atomic_vec2u_min_max") { + return Extension::kAtomicVec2UMinMax; + } if (str == "chromium_disable_uniformity_analysis") { return Extension::kChromiumDisableUniformityAnalysis; } @@ -93,6 +96,8 @@ std::string_view ToString(Extension value) { switch (value) { case Extension::kUndefined: return "undefined"; + case Extension::kAtomicVec2UMinMax: + return "atomic_vec2u_min_max"; case Extension::kChromiumDisableUniformityAnalysis: return "chromium_disable_uniformity_analysis"; case Extension::kChromiumExperimentalBarycentricCoord: @@ -196,12 +201,18 @@ LanguageFeature ParseLanguageFeature(std::string_view str) { if (str == "chromium_testing_unsafe_experimental") { return LanguageFeature::kChromiumTestingUnsafeExperimental; } + if (str == "filtering_parameters") { + return LanguageFeature::kFilteringParameters; + } if (str == "fragment_depth") { return LanguageFeature::kFragmentDepth; } if (str == "immediate_address_space") { return LanguageFeature::kImmediateAddressSpace; } + if (str == "linear_indexing") { + return LanguageFeature::kLinearIndexing; + } if (str == "packed_4x8_integer_dot_product") { return LanguageFeature::kPacked4X8IntegerDotProduct; } @@ -220,6 +231,9 @@ LanguageFeature ParseLanguageFeature(std::string_view str) { if (str == "subgroup_uniformity") { return LanguageFeature::kSubgroupUniformity; } + if (str == "swizzle_assignment") { + return LanguageFeature::kSwizzleAssignment; + } if (str == "texel_buffers") { return LanguageFeature::kTexelBuffers; } @@ -252,10 +266,14 @@ std::string_view ToString(LanguageFeature value) { return "chromium_testing_unimplemented"; case LanguageFeature::kChromiumTestingUnsafeExperimental: return "chromium_testing_unsafe_experimental"; + case LanguageFeature::kFilteringParameters: + return "filtering_parameters"; case LanguageFeature::kFragmentDepth: return "fragment_depth"; case LanguageFeature::kImmediateAddressSpace: return "immediate_address_space"; + case LanguageFeature::kLinearIndexing: + return "linear_indexing"; case LanguageFeature::kPacked4X8IntegerDotProduct: return "packed_4x8_integer_dot_product"; case LanguageFeature::kPointerCompositeAccess: @@ -268,6 +286,8 @@ std::string_view ToString(LanguageFeature value) { return "subgroup_id"; case LanguageFeature::kSubgroupUniformity: return "subgroup_uniformity"; + case LanguageFeature::kSwizzleAssignment: + return "swizzle_assignment"; case LanguageFeature::kTexelBuffers: return "texel_buffers"; case LanguageFeature::kTextureAndSamplerLet: @@ -569,9 +589,6 @@ BuiltinFn ParseBuiltinFn(std::string_view name) { if (name == "step") { return BuiltinFn::kStep; } - if (name == "storageBarrier") { - return BuiltinFn::kStorageBarrier; - } if (name == "tan") { return BuiltinFn::kTan; } @@ -605,12 +622,15 @@ BuiltinFn ParseBuiltinFn(std::string_view name) { if (name == "unpack4xU8") { return BuiltinFn::kUnpack4XU8; } - if (name == "workgroupBarrier") { - return BuiltinFn::kWorkgroupBarrier; - } if (name == "workgroupUniformLoad") { return BuiltinFn::kWorkgroupUniformLoad; } + if (name == "storageBarrier") { + return BuiltinFn::kStorageBarrier; + } + if (name == "workgroupBarrier") { + return BuiltinFn::kWorkgroupBarrier; + } if (name == "textureBarrier") { return BuiltinFn::kTextureBarrier; } @@ -695,6 +715,12 @@ BuiltinFn ParseBuiltinFn(std::string_view name) { if (name == "atomicCompareExchangeWeak") { return BuiltinFn::kAtomicCompareExchangeWeak; } + if (name == "atomicStoreMax") { + return BuiltinFn::kAtomicStoreMax; + } + if (name == "atomicStoreMin") { + return BuiltinFn::kAtomicStoreMin; + } if (name == "subgroupBallot") { return BuiltinFn::kSubgroupBallot; } @@ -800,9 +826,6 @@ BuiltinFn ParseBuiltinFn(std::string_view name) { if (name == "print") { return BuiltinFn::kPrint; } - if (name == "__tint_materialize") { - return BuiltinFn::kTintMaterialize; - } if (name == "hasResource") { return BuiltinFn::kHasResource; } @@ -976,8 +999,6 @@ const char* str(BuiltinFn i) { return "sqrt"; case BuiltinFn::kStep: return "step"; - case BuiltinFn::kStorageBarrier: - return "storageBarrier"; case BuiltinFn::kTan: return "tan"; case BuiltinFn::kTanh: @@ -1000,10 +1021,12 @@ const char* str(BuiltinFn i) { return "unpack4xI8"; case BuiltinFn::kUnpack4XU8: return "unpack4xU8"; - case BuiltinFn::kWorkgroupBarrier: - return "workgroupBarrier"; case BuiltinFn::kWorkgroupUniformLoad: return "workgroupUniformLoad"; + case BuiltinFn::kStorageBarrier: + return "storageBarrier"; + case BuiltinFn::kWorkgroupBarrier: + return "workgroupBarrier"; case BuiltinFn::kTextureBarrier: return "textureBarrier"; case BuiltinFn::kTextureDimensions: @@ -1060,6 +1083,10 @@ const char* str(BuiltinFn i) { return "atomicExchange"; case BuiltinFn::kAtomicCompareExchangeWeak: return "atomicCompareExchangeWeak"; + case BuiltinFn::kAtomicStoreMax: + return "atomicStoreMax"; + case BuiltinFn::kAtomicStoreMin: + return "atomicStoreMin"; case BuiltinFn::kSubgroupBallot: return "subgroupBallot"; case BuiltinFn::kSubgroupElect: @@ -1130,8 +1157,6 @@ const char* str(BuiltinFn i) { return "bufferLength"; case BuiltinFn::kPrint: return "print"; - case BuiltinFn::kTintMaterialize: - return "__tint_materialize"; case BuiltinFn::kHasResource: return "hasResource"; case BuiltinFn::kGetResource: diff --git a/3rdparty/dawn/src/tint/lang/wgsl/enums.h b/3rdparty/dawn/src/tint/lang/wgsl/enums.h index 137dab5fc..8673c879e 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/enums.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/enums.h @@ -114,6 +114,7 @@ constexpr std::string_view kChromiumDiagnosticRuleStrings[] = { /// @see src/tint/lang/wgsl/wgsl.def for extension descriptions enum class Extension : uint8_t { kUndefined, + kAtomicVec2UMinMax, kChromiumDisableUniformityAnalysis, kChromiumExperimentalBarycentricCoord, kChromiumExperimentalFramebufferFetch, @@ -148,6 +149,7 @@ auto& operator<<(STREAM& out, Extension value) { Extension ParseExtension(std::string_view str); constexpr std::string_view kExtensionStrings[] = { + "atomic_vec2u_min_max", "chromium_disable_uniformity_analysis", "chromium_experimental_barycentric_coord", "chromium_experimental_framebuffer_fetch", @@ -164,7 +166,8 @@ constexpr std::string_view kExtensionStrings[] = { }; /// All extensions -static constexpr Extension kAllExtensions[] = { +inline constexpr Extension kAllExtensions[] = { + Extension::kAtomicVec2UMinMax, Extension::kChromiumDisableUniformityAnalysis, Extension::kChromiumExperimentalBarycentricCoord, Extension::kChromiumExperimentalFramebufferFetch, @@ -191,14 +194,17 @@ enum class LanguageFeature : uint8_t { kChromiumTestingShippedWithKillswitch, kChromiumTestingUnimplemented, kChromiumTestingUnsafeExperimental, + kFilteringParameters, kFragmentDepth, kImmediateAddressSpace, + kLinearIndexing, kPacked4X8IntegerDotProduct, kPointerCompositeAccess, kReadonlyAndReadwriteStorageTextures, kSizedBindingArray, kSubgroupId, kSubgroupUniformity, + kSwizzleAssignment, kTexelBuffers, kTextureAndSamplerLet, kUniformBufferStandardLayout, @@ -222,14 +228,17 @@ constexpr std::string_view kLanguageFeatureStrings[] = { "chromium_testing_shipped_with_killswitch", "chromium_testing_unimplemented", "chromium_testing_unsafe_experimental", + "filtering_parameters", "fragment_depth", "immediate_address_space", + "linear_indexing", "packed_4x8_integer_dot_product", "pointer_composite_access", "readonly_and_readwrite_storage_textures", "sized_binding_array", "subgroup_id", "subgroup_uniformity", + "swizzle_assignment", "texel_buffers", "texture_and_sampler_let", "uniform_buffer_standard_layout", @@ -237,7 +246,7 @@ constexpr std::string_view kLanguageFeatureStrings[] = { }; /// All features -static constexpr LanguageFeature kAllLanguageFeatures[] = { +inline constexpr LanguageFeature kAllLanguageFeatures[] = { LanguageFeature::kBufferView, LanguageFeature::kChromiumPrint, LanguageFeature::kChromiumTestingExperimental, @@ -245,14 +254,17 @@ static constexpr LanguageFeature kAllLanguageFeatures[] = { LanguageFeature::kChromiumTestingShippedWithKillswitch, LanguageFeature::kChromiumTestingUnimplemented, LanguageFeature::kChromiumTestingUnsafeExperimental, + LanguageFeature::kFilteringParameters, LanguageFeature::kFragmentDepth, LanguageFeature::kImmediateAddressSpace, + LanguageFeature::kLinearIndexing, LanguageFeature::kPacked4X8IntegerDotProduct, LanguageFeature::kPointerCompositeAccess, LanguageFeature::kReadonlyAndReadwriteStorageTextures, LanguageFeature::kSizedBindingArray, LanguageFeature::kSubgroupId, LanguageFeature::kSubgroupUniformity, + LanguageFeature::kSwizzleAssignment, LanguageFeature::kTexelBuffers, LanguageFeature::kTextureAndSamplerLet, LanguageFeature::kUniformBufferStandardLayout, @@ -388,7 +400,6 @@ enum class BuiltinFn : uint8_t { kSmoothstep, kSqrt, kStep, - kStorageBarrier, kTan, kTanh, kTranspose, @@ -400,8 +411,9 @@ enum class BuiltinFn : uint8_t { kUnpack4X8Unorm, kUnpack4XI8, kUnpack4XU8, - kWorkgroupBarrier, kWorkgroupUniformLoad, + kStorageBarrier, + kWorkgroupBarrier, kTextureBarrier, kTextureDimensions, kTextureGather, @@ -430,6 +442,8 @@ enum class BuiltinFn : uint8_t { kAtomicXor, kAtomicExchange, kAtomicCompareExchangeWeak, + kAtomicStoreMax, + kAtomicStoreMin, kSubgroupBallot, kSubgroupElect, kSubgroupBroadcast, @@ -465,7 +479,6 @@ enum class BuiltinFn : uint8_t { kBufferView, kBufferLength, kPrint, - kTintMaterialize, kHasResource, kGetResource, kNone, @@ -571,7 +584,6 @@ constexpr BuiltinFn kBuiltinFns[] = { BuiltinFn::kSmoothstep, BuiltinFn::kSqrt, BuiltinFn::kStep, - BuiltinFn::kStorageBarrier, BuiltinFn::kTan, BuiltinFn::kTanh, BuiltinFn::kTranspose, @@ -583,8 +595,9 @@ constexpr BuiltinFn kBuiltinFns[] = { BuiltinFn::kUnpack4X8Unorm, BuiltinFn::kUnpack4XI8, BuiltinFn::kUnpack4XU8, - BuiltinFn::kWorkgroupBarrier, BuiltinFn::kWorkgroupUniformLoad, + BuiltinFn::kStorageBarrier, + BuiltinFn::kWorkgroupBarrier, BuiltinFn::kTextureBarrier, BuiltinFn::kTextureDimensions, BuiltinFn::kTextureGather, @@ -613,6 +626,8 @@ constexpr BuiltinFn kBuiltinFns[] = { BuiltinFn::kAtomicXor, BuiltinFn::kAtomicExchange, BuiltinFn::kAtomicCompareExchangeWeak, + BuiltinFn::kAtomicStoreMax, + BuiltinFn::kAtomicStoreMin, BuiltinFn::kSubgroupBallot, BuiltinFn::kSubgroupElect, BuiltinFn::kSubgroupBroadcast, @@ -648,7 +663,6 @@ constexpr BuiltinFn kBuiltinFns[] = { BuiltinFn::kBufferView, BuiltinFn::kBufferLength, BuiltinFn::kPrint, - BuiltinFn::kTintMaterialize, BuiltinFn::kHasResource, BuiltinFn::kGetResource, }; @@ -735,7 +749,6 @@ constexpr const char* kBuiltinFnStrings[] = { "smoothstep", "sqrt", "step", - "storageBarrier", "tan", "tanh", "transpose", @@ -747,8 +760,9 @@ constexpr const char* kBuiltinFnStrings[] = { "unpack4x8unorm", "unpack4xI8", "unpack4xU8", - "workgroupBarrier", "workgroupUniformLoad", + "storageBarrier", + "workgroupBarrier", "textureBarrier", "textureDimensions", "textureGather", @@ -777,6 +791,8 @@ constexpr const char* kBuiltinFnStrings[] = { "atomicXor", "atomicExchange", "atomicCompareExchangeWeak", + "atomicStoreMax", + "atomicStoreMin", "subgroupBallot", "subgroupElect", "subgroupBroadcast", @@ -812,7 +828,6 @@ constexpr const char* kBuiltinFnStrings[] = { "bufferView", "bufferLength", "print", - "__tint_materialize", "hasResource", "getResource", }; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/feature_status.cc b/3rdparty/dawn/src/tint/lang/wgsl/feature_status.cc index 19f54410f..2be2b90bf 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/feature_status.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/feature_status.cc @@ -40,8 +40,10 @@ FeatureStatus GetLanguageFeatureStatus(LanguageFeature f) { case LanguageFeature::kTexelBuffers: case LanguageFeature::kFragmentDepth: case LanguageFeature::kImmediateAddressSpace: - case LanguageFeature::kTextureAndSamplerLet: case LanguageFeature::kBufferView: + case LanguageFeature::kFilteringParameters: + case LanguageFeature::kSwizzleAssignment: + case LanguageFeature::kLinearIndexing: return FeatureStatus::kUnsafeExperimental; //////////////////////////////////////////////////////////////////// @@ -60,6 +62,7 @@ FeatureStatus GetLanguageFeatureStatus(LanguageFeature f) { case LanguageFeature::kUniformBufferStandardLayout: case LanguageFeature::kSubgroupId: case LanguageFeature::kSubgroupUniformity: + case LanguageFeature::kTextureAndSamplerLet: return FeatureStatus::kShippedWithKillswitch; //////////////////////////////////////////////////////////////////// diff --git a/3rdparty/dawn/src/tint/lang/wgsl/inspector/entry_point.h b/3rdparty/dawn/src/tint/lang/wgsl/inspector/entry_point.h index dd8e8f730..2c7237585 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/inspector/entry_point.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/inspector/entry_point.h @@ -167,8 +167,6 @@ struct EntryPoint { /// size is derived from an override-expression. In this situation you first need to run the /// SubstituteOverride transform before using the inspector. std::optional workgroup_size; - /// The total size in bytes of all Workgroup storage-class storage accessed via the entry point. - uint32_t workgroup_storage_size = 0; /// The total size in bytes of all immediate variables accessed by the entry point. uint32_t immediate_data_size = 0; /// List of the input variable accessed via this entry point. diff --git a/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.cc b/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.cc index 2612740ae..abd9457aa 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.cc @@ -164,18 +164,13 @@ ResourceBinding ConvertHandleToResourceBinding(const tint::sem::GlobalVariable* handle_type, [&](const core::type::Sampler* sampler) { - if (sampler->Kind() == core::type::SamplerKind::kSampler) { - result.resource_type = ResourceBinding::ResourceType::kSampler; - } else { - TINT_ASSERT(sampler->Kind() == core::type::SamplerKind::kComparisonSampler); - result.resource_type = ResourceBinding::ResourceType::kComparisonSampler; - } + result.resource_type = ResourceBinding::ResourceType::kSampler; + result.sampler_type = SamplerToSamplerType(sampler); }, - [&](const core::type::SampledTexture* tex) { result.resource_type = ResourceBinding::ResourceType::kSampledTexture; result.dim = TypeTextureDimensionToResourceBindingTextureDimension(tex->Dim()); - result.sampled_kind = BaseTypeToSampledKind(tex->Type()); + result.sampled_kind = ToFilterableSampledKind(tex); }, [&](const core::type::MultisampledTexture* tex) { result.resource_type = ResourceBinding::ResourceType::kMultisampledTexture; @@ -313,7 +308,6 @@ EntryPoint Inspector::GetEntryPoint(const tint::ast::Function* func) { switch (func->PipelineStage()) { case ast::PipelineStage::kCompute: { entry_point.stage = PipelineStage::kCompute; - entry_point.workgroup_storage_size = ComputeWorkgroupStorageSize(func); auto wgsize = sem->WorkgroupSize(); if (wgsize[0].has_value() && wgsize[1].has_value() && wgsize[2].has_value()) { @@ -967,26 +961,6 @@ std::tuple Inspector::CalculateInterpo return {interpolation_type, sampling_type}; } -uint32_t Inspector::ComputeWorkgroupStorageSize(const ast::Function* func) const { - uint32_t total_size = 0; - auto* func_sem = program_.Sem().Get(func); - for (const sem::Variable* var : func_sem->TransitivelyReferencedGlobals()) { - if (var->AddressSpace() == core::AddressSpace::kWorkgroup) { - auto* ty = var->Type()->UnwrapRef(); - uint32_t align = ty->Align(); - uint32_t size = ty->Size(); - - // This essentially matches std430 layout rules from GLSL, which are in - // turn specified as an upper bound for Vulkan layout sizing. Since D3D - // and Metal are even less specific, we assume Vulkan behavior as a - // good-enough approximation everywhere. - total_size += tint::RoundUp(16u, tint::RoundUp(align, size)); - } - } - - return total_size; -} - uint32_t Inspector::ComputeImmediateDataSize(const ast::Function* func) const { uint32_t size = 0; auto* func_sem = program_.Sem().Get(func); diff --git a/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.h b/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.h index 64025d939..9e44a5f3c 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/inspector/inspector.h @@ -38,7 +38,6 @@ #include #include "src/tint/api/common/override_id.h" - #include "src/tint/api/common/resource_type.h" #include "src/tint/lang/core/enums.h" #include "src/tint/lang/wgsl/inspector/entry_point.h" @@ -216,10 +215,6 @@ class Inspector { std::tuple CalculateInterpolationData( VectorRef attributes) const; - /// @param func the root function of the callgraph to consider for the computation. - /// @returns the total size in bytes of all Workgroup storage-class storage accessed via func. - uint32_t ComputeWorkgroupStorageSize(const ast::Function* func) const; - /// @param func the root function of the callgraph to consider for the computation. /// @returns the total size in bytes of all immediate data variables accessed via func. uint32_t ComputeImmediateDataSize(const ast::Function* func) const; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.cc b/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.cc index a45f031af..b9888add8 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.cc @@ -27,6 +27,7 @@ #include "src/tint/lang/wgsl/inspector/resource_binding.h" +#include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/array.h" #include "src/tint/lang/core/type/f32.h" #include "src/tint/lang/core/type/i32.h" @@ -59,28 +60,54 @@ ResourceBinding::TextureDimension TypeTextureDimensionToResourceBindingTextureDi return ResourceBinding::TextureDimension::kNone; } -ResourceBinding::SampledKind BaseTypeToSampledKind(const core::type::Type* base_type) { - if (!base_type) { - return ResourceBinding::SampledKind::kUnknown; +ResourceBinding::SampledKind ToFilterableSampledKind(const core::type::SampledTexture* tex) { + switch (tex->Filterable()) { + case core::TextureFilterable::kFilterable: + return ResourceBinding::SampledKind::kFilterable; + case core::TextureFilterable::kUnfilterable: + return ResourceBinding::SampledKind::kUnfilterable; + default: + break; + } + // We don't want to say `float` in this case, we want `unknown-filterable` to signify the + // unknown filterablity. + if (tex->Type()->Is()) { + return ResourceBinding::SampledKind::kUnknownFilterable; } - if (auto* at = base_type->As()) { - base_type = at->ElemType(); - } else if (auto* mt = base_type->As()) { - base_type = mt->Type(); - } else if (auto* vt = base_type->As()) { - base_type = vt->Type(); - } + return BaseTypeToSampledKind(tex->Type()); +} + +ResourceBinding::SampledKind BaseTypeToSampledKind(const core::type::Type* base_type) { + TINT_ASSERT(base_type); if (base_type->Is()) { return ResourceBinding::SampledKind::kFloat; - } else if (base_type->Is()) { - return ResourceBinding::SampledKind::kUInt; - } else if (base_type->Is()) { - return ResourceBinding::SampledKind::kSInt; - } else { - return ResourceBinding::SampledKind::kUnknown; } + if (base_type->Is()) { + return ResourceBinding::SampledKind::kUInt; + } + if (base_type->Is()) { + return ResourceBinding::SampledKind::kSInt; + } + TINT_UNREACHABLE(); +} + +ResourceBinding::SamplerType SamplerToSamplerType(const core::type::Sampler* sampler) { + if (sampler->Kind() == core::type::SamplerKind::kSampler) { + switch (sampler->Filtering()) { + case core::SamplerFiltering::kFiltering: + return ResourceBinding::SamplerType::kFiltering; + case core::SamplerFiltering::kNonFiltering: + return ResourceBinding::SamplerType::kNonFiltering; + default: + return ResourceBinding::SamplerType::kUnknownFiltering; + } + } + if (sampler->Kind() == core::type::SamplerKind::kComparisonSampler) { + return ResourceBinding::SamplerType::kComparison; + } + TINT_UNREACHABLE(); } ResourceBinding::TexelFormat TypeTexelFormatToResourceBindingTexelFormat( diff --git a/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.h b/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.h index 1c26a3666..607c9174e 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/inspector/resource_binding.h @@ -33,6 +33,8 @@ #include #include "src/tint/lang/core/enums.h" +#include "src/tint/lang/core/type/sampled_texture.h" +#include "src/tint/lang/core/type/sampler.h" #include "src/tint/lang/core/type/texture_dimension.h" #include "src/tint/lang/core/type/type.h" @@ -60,7 +62,24 @@ struct ResourceBinding { /// Component type of the texture's data. Same as the Sampled Type parameter /// in SPIR-V OpTypeImage. - enum class SampledKind : uint8_t { kFloat, kUInt, kSInt, kUnknown }; + enum class SampledKind : uint8_t { + // Note, the `Float` type is here for things like the `input_attachment` resources. + // Multisampled textures will also use it, but they could also use `Unfilterable` and be + // correct per the spec. + kFloat, + kUInt, + kSInt, + kFilterable, + kUnfilterable, + kUnknownFilterable, + }; + + enum class SamplerType : uint8_t { + kComparison, + kFiltering, + kNonFiltering, + kUnknownFiltering, + }; /// Enumerator of texel image formats enum class TexelFormat : uint8_t { @@ -107,13 +126,11 @@ struct ResourceBinding { kNone, }; - /// kXXX maps to entries returned by GetXXXResourceBindings call. enum class ResourceType { kUniformBuffer, kStorageBuffer, kReadOnlyStorageBuffer, kSampler, - kComparisonSampler, kSampledTexture, kMultisampledTexture, kWriteOnlyStorageTexture, @@ -146,6 +163,8 @@ struct ResourceBinding { TextureDimension dim; /// Kind of data being sampled, if defined. SampledKind sampled_kind; + /// Sampler information, if defined + SamplerType sampler_type; /// Format of data, if defined. TexelFormat image_format; /// Variable name of the binding. @@ -159,11 +178,21 @@ struct ResourceBinding { ResourceBinding::TextureDimension TypeTextureDimensionToResourceBindingTextureDimension( const core::type::TextureDimension& type_dim); +/// Infer ResourceBinding::SampledKind for a given core::type::SampledTexture +/// @param tex the texture +/// @returns the publicly visible equivalent +ResourceBinding::SampledKind ToFilterableSampledKind(const core::type::SampledTexture* tex); + /// Infer ResourceBinding::SampledKind for a given core::type::Type /// @param base_type internal type to infer from /// @returns the publicly visible equivalent ResourceBinding::SampledKind BaseTypeToSampledKind(const core::type::Type* base_type); +/// Infers the ResourceBinding::SamplerType for a given sampler +/// @param sampler the sampler +/// @returns the publicly visible equivalent +ResourceBinding::SamplerType SamplerToSamplerType(const core::type::Sampler* sampler); + /// Convert from internal core::TexelFormat to public /// ResourceBinding::TexelFormat /// @param image_format internal value to convert from diff --git a/3rdparty/dawn/src/tint/lang/wgsl/intrinsic/data.cc b/3rdparty/dawn/src/tint/lang/wgsl/intrinsic/data.cc index f2362f7e7..adcd3ca32 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/intrinsic/data.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/intrinsic/data.cc @@ -704,6 +704,26 @@ constexpr TypeMatcher kSamplerComparisonMatcher { }; +/// TypeMatcher for 'type sampler_filtered' +constexpr TypeMatcher kSamplerFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + Number F = Number::invalid; + if (!MatchSamplerFiltered(state, ty, F)) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildSamplerFiltered(state, ty, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText F; + state->PrintNum(F); + out << style::Type("sampler<", F, ">"); + } +}; + + /// TypeMatcher for 'type texture_1d' constexpr TypeMatcher kTexture1DMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -824,6 +844,162 @@ constexpr TypeMatcher kTextureCubeArrayMatcher { }; +/// TypeMatcher for 'type texture_1d_filtered' +constexpr TypeMatcher kTexture1DFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture1DFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture1DFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_1d"); + } +}; + + +/// TypeMatcher for 'type texture_2d_filtered' +constexpr TypeMatcher kTexture2DFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture2DFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture2DFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_2d"); + } +}; + + +/// TypeMatcher for 'type texture_2d_array_filtered' +constexpr TypeMatcher kTexture2DArrayFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture2DArrayFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture2DArrayFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_2d_array"); + } +}; + + +/// TypeMatcher for 'type texture_3d_filtered' +constexpr TypeMatcher kTexture3DFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTexture3DFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTexture3DFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_3d"); + } +}; + + +/// TypeMatcher for 'type texture_cube_filtered' +constexpr TypeMatcher kTextureCubeFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTextureCubeFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTextureCubeFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_cube"); + } +}; + + +/// TypeMatcher for 'type texture_cube_array_filtered' +constexpr TypeMatcher kTextureCubeArrayFilteredMatcher { +/* match */ [](MatchState& state, const Type* ty) -> const Type* { + const Type* T = nullptr; + Number F = Number::invalid; + if (!MatchTextureCubeArrayFiltered(state, ty, T, F)) { + return nullptr; + } + T = state.Type(T); + if (T == nullptr) { + return nullptr; + } + F = state.Num(F); + if (!F.IsValid()) { + return nullptr; + } + return BuildTextureCubeArrayFiltered(state, ty, T, F); + }, +/* print */ []([[maybe_unused]] MatchState* state, StyledText& out) {StyledText T; + state->PrintType(T);StyledText F; + state->PrintNum(F); + out << style::Type("texture_cube_array"); + } +}; + + /// TypeMatcher for 'type texture_multisampled_2d' constexpr TypeMatcher kTextureMultisampled2DMatcher { /* match */ [](MatchState& state, const Type* ty) -> const Type* { @@ -1817,6 +1993,90 @@ constexpr TypeMatcher kSubgroupMatrixElementsMatcher { kF32Matcher.print(nullptr, out); out << style::Plain(", "); kF16Matcher.print(nullptr, out); out << style::Plain(", "); kU32Matcher.print(nullptr, out); out << style::Plain(", "); kI32Matcher.print(nullptr, out); out << style::Plain(", "); kU8Matcher.print(nullptr, out); out << style::Plain(" or "); kI8Matcher.print(nullptr, out);} }; +/// EnumMatcher for 'match filterable' +constexpr NumberMatcher kFilterableMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::TextureFilterable::kFilterable)) { + return Number(static_cast(core::TextureFilterable::kFilterable)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filterable"); + } +}; + +/// EnumMatcher for 'match unfilterable' +constexpr NumberMatcher kUnfilterableMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::TextureFilterable::kUnfilterable)) { + return Number(static_cast(core::TextureFilterable::kUnfilterable)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("unfilterable"); + } +}; + +/// EnumMatcher for 'match filtering' +constexpr NumberMatcher kFilteringMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SamplerFiltering::kFiltering)) { + return Number(static_cast(core::SamplerFiltering::kFiltering)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filtering"); + } +}; + +/// EnumMatcher for 'match non_filtering' +constexpr NumberMatcher kNonFilteringMatcher { +/* match */ [](MatchState&, Number number) -> Number { + if (number.IsAny() || number.Value() == static_cast(core::SamplerFiltering::kNonFiltering)) { + return Number(static_cast(core::SamplerFiltering::kNonFiltering)); + } + return Number::invalid; + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("non_filtering"); + } +}; + +/// EnumMatcher for 'match texture_filter' +constexpr NumberMatcher kTextureFilterMatcher { +/* match */ [](MatchState&, Number number) -> Number { + switch (static_cast(number.Value())) { + case core::TextureFilterable::kFilterable: + case core::TextureFilterable::kUnfilterable: + return number; + default: + return Number::invalid; + } + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filterable")<< style::Plain(" or ") << style::Enum("unfilterable"); + } +}; + +/// EnumMatcher for 'match sampler_filter' +constexpr NumberMatcher kSamplerFilterMatcher { +/* match */ [](MatchState&, Number number) -> Number { + switch (static_cast(number.Value())) { + case core::SamplerFiltering::kFiltering: + case core::SamplerFiltering::kNonFiltering: + return number; + default: + return Number::invalid; + } + }, +/* print */ [](MatchState*, StyledText& out) { + out<< style::Enum("filtering")<< style::Plain(" or ") << style::Enum("non_filtering"); + } +}; + /// EnumMatcher for 'match subgroup_matrix_kind_left' constexpr NumberMatcher kSubgroupMatrixKindLeftMatcher { /* match */ [](MatchState&, Number number) -> Number { @@ -2125,57 +2385,64 @@ constexpr TypeMatcher kTypeMatchers[] = { /* [34] */ kBindingArrayMatcher, /* [35] */ kSamplerMatcher, /* [36] */ kSamplerComparisonMatcher, - /* [37] */ kTexture1DMatcher, - /* [38] */ kTexture2DMatcher, - /* [39] */ kTexture2DArrayMatcher, - /* [40] */ kTexture3DMatcher, - /* [41] */ kTextureCubeMatcher, - /* [42] */ kTextureCubeArrayMatcher, - /* [43] */ kTextureMultisampled2DMatcher, - /* [44] */ kTextureDepth2DMatcher, - /* [45] */ kTextureDepth2DArrayMatcher, - /* [46] */ kTextureDepthCubeMatcher, - /* [47] */ kTextureDepthCubeArrayMatcher, - /* [48] */ kTextureDepthMultisampled2DMatcher, - /* [49] */ kTextureStorage1DMatcher, - /* [50] */ kTextureStorage2DMatcher, - /* [51] */ kTextureStorage2DArrayMatcher, - /* [52] */ kTextureStorage3DMatcher, - /* [53] */ kTextureExternalMatcher, - /* [54] */ kTexelBufferMatcher, - /* [55] */ kInputAttachmentMatcher, - /* [56] */ kModfResultMatcher, - /* [57] */ kModfResultVecMatcher, - /* [58] */ kFrexpResultMatcher, - /* [59] */ kFrexpResultVecMatcher, - /* [60] */ kAtomicCompareExchangeResultMatcher, - /* [61] */ kSubgroupMatrixMatcher, - /* [62] */ kUnsizedBufferMatcher, - /* [63] */ kBufferMatcher, - /* [64] */ kConstructibleMatcher, - /* [65] */ kScalarMatcher, - /* [66] */ kConcreteScalarMatcher, - /* [67] */ kScalarNoF32Matcher, - /* [68] */ kScalarNoF16Matcher, - /* [69] */ kScalarNoI32Matcher, - /* [70] */ kScalarNoU32Matcher, - /* [71] */ kScalarNoBoolMatcher, - /* [72] */ kFiaFiu32F16Matcher, - /* [73] */ kFiaFi32F16Matcher, - /* [74] */ kFiaFiu32Matcher, - /* [75] */ kFaF32Matcher, - /* [76] */ kFaF32F16Matcher, - /* [77] */ kIaIu32Matcher, - /* [78] */ kIaI32Matcher, - /* [79] */ kFiu32F16Matcher, - /* [80] */ kFiu32Matcher, - /* [81] */ kFi32F16Matcher, - /* [82] */ kFi32Matcher, - /* [83] */ kF32F16Matcher, - /* [84] */ kIu32Matcher, - /* [85] */ kIu32Iu8Matcher, - /* [86] */ kIu8Matcher, - /* [87] */ kSubgroupMatrixElementsMatcher, + /* [37] */ kSamplerFilteredMatcher, + /* [38] */ kTexture1DMatcher, + /* [39] */ kTexture2DMatcher, + /* [40] */ kTexture2DArrayMatcher, + /* [41] */ kTexture3DMatcher, + /* [42] */ kTextureCubeMatcher, + /* [43] */ kTextureCubeArrayMatcher, + /* [44] */ kTexture1DFilteredMatcher, + /* [45] */ kTexture2DFilteredMatcher, + /* [46] */ kTexture2DArrayFilteredMatcher, + /* [47] */ kTexture3DFilteredMatcher, + /* [48] */ kTextureCubeFilteredMatcher, + /* [49] */ kTextureCubeArrayFilteredMatcher, + /* [50] */ kTextureMultisampled2DMatcher, + /* [51] */ kTextureDepth2DMatcher, + /* [52] */ kTextureDepth2DArrayMatcher, + /* [53] */ kTextureDepthCubeMatcher, + /* [54] */ kTextureDepthCubeArrayMatcher, + /* [55] */ kTextureDepthMultisampled2DMatcher, + /* [56] */ kTextureStorage1DMatcher, + /* [57] */ kTextureStorage2DMatcher, + /* [58] */ kTextureStorage2DArrayMatcher, + /* [59] */ kTextureStorage3DMatcher, + /* [60] */ kTextureExternalMatcher, + /* [61] */ kTexelBufferMatcher, + /* [62] */ kInputAttachmentMatcher, + /* [63] */ kModfResultMatcher, + /* [64] */ kModfResultVecMatcher, + /* [65] */ kFrexpResultMatcher, + /* [66] */ kFrexpResultVecMatcher, + /* [67] */ kAtomicCompareExchangeResultMatcher, + /* [68] */ kSubgroupMatrixMatcher, + /* [69] */ kUnsizedBufferMatcher, + /* [70] */ kBufferMatcher, + /* [71] */ kConstructibleMatcher, + /* [72] */ kScalarMatcher, + /* [73] */ kConcreteScalarMatcher, + /* [74] */ kScalarNoF32Matcher, + /* [75] */ kScalarNoF16Matcher, + /* [76] */ kScalarNoI32Matcher, + /* [77] */ kScalarNoU32Matcher, + /* [78] */ kScalarNoBoolMatcher, + /* [79] */ kFiaFiu32F16Matcher, + /* [80] */ kFiaFi32F16Matcher, + /* [81] */ kFiaFiu32Matcher, + /* [82] */ kFaF32Matcher, + /* [83] */ kFaF32F16Matcher, + /* [84] */ kIaIu32Matcher, + /* [85] */ kIaI32Matcher, + /* [86] */ kFiu32F16Matcher, + /* [87] */ kFiu32Matcher, + /* [88] */ kFi32F16Matcher, + /* [89] */ kFi32Matcher, + /* [90] */ kF32F16Matcher, + /* [91] */ kIu32Matcher, + /* [92] */ kIu32Iu8Matcher, + /* [93] */ kIu8Matcher, + /* [94] */ kSubgroupMatrixElementsMatcher, }; /// The template numbers, and number matchers @@ -2186,447 +2453,593 @@ constexpr NumberMatcher kNumberMatchers[] = { /* [3] */ TemplateNumberMatcher<3>::matcher, /* [4] */ TemplateNumberMatcher<4>::matcher, /* [5] */ TemplateNumberMatcher<5>::matcher, - /* [6] */ kSubgroupMatrixKindLeftMatcher, - /* [7] */ kSubgroupMatrixKindRightMatcher, - /* [8] */ kSubgroupMatrixKindResultMatcher, - /* [9] */ kF32TexelFormatMatcher, - /* [10] */ kI32TexelFormatMatcher, - /* [11] */ kU32TexelFormatMatcher, - /* [12] */ kReadMatcher, - /* [13] */ kWriteMatcher, - /* [14] */ kReadWriteMatcher, - /* [15] */ kReadableMatcher, - /* [16] */ kWritableMatcher, - /* [17] */ kFunctionPrivateWorkgroupMatcher, - /* [18] */ kWorkgroupOrStorageMatcher, - /* [19] */ kStorageMatcher, - /* [20] */ kWorkgroupMatcher, - /* [21] */ kUniformOrStorageMatcher, + /* [6] */ kFilterableMatcher, + /* [7] */ kUnfilterableMatcher, + /* [8] */ kFilteringMatcher, + /* [9] */ kNonFilteringMatcher, + /* [10] */ kTextureFilterMatcher, + /* [11] */ kSamplerFilterMatcher, + /* [12] */ kSubgroupMatrixKindLeftMatcher, + /* [13] */ kSubgroupMatrixKindRightMatcher, + /* [14] */ kSubgroupMatrixKindResultMatcher, + /* [15] */ kF32TexelFormatMatcher, + /* [16] */ kI32TexelFormatMatcher, + /* [17] */ kU32TexelFormatMatcher, + /* [18] */ kReadMatcher, + /* [19] */ kWriteMatcher, + /* [20] */ kReadWriteMatcher, + /* [21] */ kReadableMatcher, + /* [22] */ kWritableMatcher, + /* [23] */ kFunctionPrivateWorkgroupMatcher, + /* [24] */ kWorkgroupOrStorageMatcher, + /* [25] */ kStorageMatcher, + /* [26] */ kWorkgroupMatcher, + /* [27] */ kUniformOrStorageMatcher, }; constexpr MatcherIndex kMatcherIndices[] = { /* [0] */ MatcherIndex(29), - /* [1] */ MatcherIndex(18), - /* [2] */ MatcherIndex(33), - /* [3] */ MatcherIndex(2), - /* [4] */ MatcherIndex(5), - /* [5] */ MatcherIndex(15), - /* [6] */ MatcherIndex(14), + /* [1] */ MatcherIndex(25), + /* [2] */ MatcherIndex(31), + /* [3] */ MatcherIndex(15), + /* [4] */ MatcherIndex(12), + /* [5] */ MatcherIndex(20), + /* [6] */ MatcherIndex(0), /* [7] */ MatcherIndex(29), - /* [8] */ MatcherIndex(18), + /* [8] */ MatcherIndex(24), /* [9] */ MatcherIndex(33), - /* [10] */ MatcherIndex(11), + /* [10] */ MatcherIndex(2), /* [11] */ MatcherIndex(5), - /* [12] */ MatcherIndex(15), - /* [13] */ MatcherIndex(80), + /* [12] */ MatcherIndex(21), + /* [13] */ MatcherIndex(0), /* [14] */ MatcherIndex(29), - /* [15] */ MatcherIndex(18), + /* [15] */ MatcherIndex(24), /* [16] */ MatcherIndex(33), - /* [17] */ MatcherIndex(12), + /* [17] */ MatcherIndex(11), /* [18] */ MatcherIndex(5), - /* [19] */ MatcherIndex(15), - /* [20] */ MatcherIndex(1), + /* [19] */ MatcherIndex(21), + /* [20] */ MatcherIndex(13), /* [21] */ MatcherIndex(29), - /* [22] */ MatcherIndex(18), + /* [22] */ MatcherIndex(24), /* [23] */ MatcherIndex(33), - /* [24] */ MatcherIndex(1), - /* [25] */ MatcherIndex(4), - /* [26] */ MatcherIndex(16), - /* [27] */ MatcherIndex(0), + /* [24] */ MatcherIndex(12), + /* [25] */ MatcherIndex(5), + /* [26] */ MatcherIndex(21), + /* [27] */ MatcherIndex(14), /* [28] */ MatcherIndex(29), - /* [29] */ MatcherIndex(18), + /* [29] */ MatcherIndex(24), /* [30] */ MatcherIndex(33), - /* [31] */ MatcherIndex(11), + /* [31] */ MatcherIndex(1), /* [32] */ MatcherIndex(4), - /* [33] */ MatcherIndex(16), - /* [34] */ MatcherIndex(12), + /* [33] */ MatcherIndex(22), + /* [34] */ MatcherIndex(0), /* [35] */ MatcherIndex(29), - /* [36] */ MatcherIndex(18), + /* [36] */ MatcherIndex(24), /* [37] */ MatcherIndex(33), - /* [38] */ MatcherIndex(12), + /* [38] */ MatcherIndex(11), /* [39] */ MatcherIndex(4), - /* [40] */ MatcherIndex(16), + /* [40] */ MatcherIndex(22), /* [41] */ MatcherIndex(13), /* [42] */ MatcherIndex(29), - /* [43] */ MatcherIndex(19), - /* [44] */ MatcherIndex(32), - /* [45] */ MatcherIndex(0), - /* [46] */ MatcherIndex(1), - /* [47] */ MatcherIndex(29), - /* [48] */ MatcherIndex(20), - /* [49] */ MatcherIndex(31), - /* [50] */ MatcherIndex(0), - /* [51] */ MatcherIndex(14), - /* [52] */ MatcherIndex(29), + /* [43] */ MatcherIndex(24), + /* [44] */ MatcherIndex(33), + /* [45] */ MatcherIndex(12), + /* [46] */ MatcherIndex(4), + /* [47] */ MatcherIndex(22), + /* [48] */ MatcherIndex(14), + /* [49] */ MatcherIndex(29), + /* [50] */ MatcherIndex(25), + /* [51] */ MatcherIndex(32), + /* [52] */ MatcherIndex(0), /* [53] */ MatcherIndex(1), - /* [54] */ MatcherIndex(31), - /* [55] */ MatcherIndex(0), - /* [56] */ MatcherIndex(14), - /* [57] */ MatcherIndex(61), - /* [58] */ MatcherIndex(1), - /* [59] */ MatcherIndex(2), - /* [60] */ MatcherIndex(3), - /* [61] */ MatcherIndex(4), - /* [62] */ MatcherIndex(29), - /* [63] */ MatcherIndex(19), - /* [64] */ MatcherIndex(32), - /* [65] */ MatcherIndex(2), - /* [66] */ MatcherIndex(15), - /* [67] */ MatcherIndex(13), - /* [68] */ MatcherIndex(29), - /* [69] */ MatcherIndex(19), - /* [70] */ MatcherIndex(32), - /* [71] */ MatcherIndex(11), - /* [72] */ MatcherIndex(15), - /* [73] */ MatcherIndex(12), - /* [74] */ MatcherIndex(29), - /* [75] */ MatcherIndex(19), - /* [76] */ MatcherIndex(32), - /* [77] */ MatcherIndex(12), - /* [78] */ MatcherIndex(15), + /* [54] */ MatcherIndex(29), + /* [55] */ MatcherIndex(26), + /* [56] */ MatcherIndex(31), + /* [57] */ MatcherIndex(0), + /* [58] */ MatcherIndex(20), + /* [59] */ MatcherIndex(13), + /* [60] */ MatcherIndex(29), + /* [61] */ MatcherIndex(1), + /* [62] */ MatcherIndex(31), + /* [63] */ MatcherIndex(0), + /* [64] */ MatcherIndex(20), + /* [65] */ MatcherIndex(14), + /* [66] */ MatcherIndex(68), + /* [67] */ MatcherIndex(1), + /* [68] */ MatcherIndex(2), + /* [69] */ MatcherIndex(3), + /* [70] */ MatcherIndex(4), + /* [71] */ MatcherIndex(29), + /* [72] */ MatcherIndex(25), + /* [73] */ MatcherIndex(32), + /* [74] */ MatcherIndex(2), + /* [75] */ MatcherIndex(21), + /* [76] */ MatcherIndex(29), + /* [77] */ MatcherIndex(25), + /* [78] */ MatcherIndex(32), /* [79] */ MatcherIndex(11), - /* [80] */ MatcherIndex(29), - /* [81] */ MatcherIndex(19), - /* [82] */ MatcherIndex(32), - /* [83] */ MatcherIndex(1), - /* [84] */ MatcherIndex(16), - /* [85] */ MatcherIndex(11), - /* [86] */ MatcherIndex(61), - /* [87] */ MatcherIndex(0), - /* [88] */ MatcherIndex(1), - /* [89] */ MatcherIndex(2), - /* [90] */ MatcherIndex(3), - /* [91] */ MatcherIndex(29), - /* [92] */ MatcherIndex(19), - /* [93] */ MatcherIndex(32), - /* [94] */ MatcherIndex(11), - /* [95] */ MatcherIndex(16), - /* [96] */ MatcherIndex(1), - /* [97] */ MatcherIndex(29), - /* [98] */ MatcherIndex(19), - /* [99] */ MatcherIndex(32), - /* [100] */ MatcherIndex(12), - /* [101] */ MatcherIndex(16), - /* [102] */ MatcherIndex(9), - /* [103] */ MatcherIndex(61), - /* [104] */ MatcherIndex(8), - /* [105] */ MatcherIndex(0), - /* [106] */ MatcherIndex(2), - /* [107] */ MatcherIndex(3), - /* [108] */ MatcherIndex(61), - /* [109] */ MatcherIndex(6), - /* [110] */ MatcherIndex(1), - /* [111] */ MatcherIndex(4), - /* [112] */ MatcherIndex(3), - /* [113] */ MatcherIndex(61), - /* [114] */ MatcherIndex(7), - /* [115] */ MatcherIndex(1), - /* [116] */ MatcherIndex(2), - /* [117] */ MatcherIndex(4), - /* [118] */ MatcherIndex(61), - /* [119] */ MatcherIndex(8), - /* [120] */ MatcherIndex(1), - /* [121] */ MatcherIndex(2), - /* [122] */ MatcherIndex(3), - /* [123] */ MatcherIndex(61), - /* [124] */ MatcherIndex(6), - /* [125] */ MatcherIndex(0), - /* [126] */ MatcherIndex(4), - /* [127] */ MatcherIndex(3), - /* [128] */ MatcherIndex(61), - /* [129] */ MatcherIndex(7), - /* [130] */ MatcherIndex(0), - /* [131] */ MatcherIndex(2), - /* [132] */ MatcherIndex(4), - /* [133] */ MatcherIndex(61), - /* [134] */ MatcherIndex(0), - /* [135] */ MatcherIndex(7), - /* [136] */ MatcherIndex(1), - /* [137] */ MatcherIndex(2), - /* [138] */ MatcherIndex(61), - /* [139] */ MatcherIndex(0), - /* [140] */ MatcherIndex(8), - /* [141] */ MatcherIndex(1), - /* [142] */ MatcherIndex(2), - /* [143] */ MatcherIndex(29), - /* [144] */ MatcherIndex(2), - /* [145] */ MatcherIndex(63), - /* [146] */ MatcherIndex(3), - /* [147] */ MatcherIndex(1), - /* [148] */ MatcherIndex(29), - /* [149] */ MatcherIndex(1), - /* [150] */ MatcherIndex(63), - /* [151] */ MatcherIndex(2), - /* [152] */ MatcherIndex(0), - /* [153] */ MatcherIndex(28), - /* [154] */ MatcherIndex(0), + /* [80] */ MatcherIndex(21), + /* [81] */ MatcherIndex(29), + /* [82] */ MatcherIndex(25), + /* [83] */ MatcherIndex(32), + /* [84] */ MatcherIndex(12), + /* [85] */ MatcherIndex(21), + /* [86] */ MatcherIndex(29), + /* [87] */ MatcherIndex(25), + /* [88] */ MatcherIndex(32), + /* [89] */ MatcherIndex(1), + /* [90] */ MatcherIndex(22), + /* [91] */ MatcherIndex(68), + /* [92] */ MatcherIndex(0), + /* [93] */ MatcherIndex(1), + /* [94] */ MatcherIndex(2), + /* [95] */ MatcherIndex(3), + /* [96] */ MatcherIndex(29), + /* [97] */ MatcherIndex(25), + /* [98] */ MatcherIndex(32), + /* [99] */ MatcherIndex(11), + /* [100] */ MatcherIndex(22), + /* [101] */ MatcherIndex(29), + /* [102] */ MatcherIndex(25), + /* [103] */ MatcherIndex(32), + /* [104] */ MatcherIndex(12), + /* [105] */ MatcherIndex(22), + /* [106] */ MatcherIndex(68), + /* [107] */ MatcherIndex(14), + /* [108] */ MatcherIndex(0), + /* [109] */ MatcherIndex(2), + /* [110] */ MatcherIndex(3), + /* [111] */ MatcherIndex(68), + /* [112] */ MatcherIndex(12), + /* [113] */ MatcherIndex(1), + /* [114] */ MatcherIndex(4), + /* [115] */ MatcherIndex(3), + /* [116] */ MatcherIndex(68), + /* [117] */ MatcherIndex(13), + /* [118] */ MatcherIndex(1), + /* [119] */ MatcherIndex(2), + /* [120] */ MatcherIndex(4), + /* [121] */ MatcherIndex(68), + /* [122] */ MatcherIndex(14), + /* [123] */ MatcherIndex(1), + /* [124] */ MatcherIndex(2), + /* [125] */ MatcherIndex(3), + /* [126] */ MatcherIndex(68), + /* [127] */ MatcherIndex(12), + /* [128] */ MatcherIndex(0), + /* [129] */ MatcherIndex(4), + /* [130] */ MatcherIndex(3), + /* [131] */ MatcherIndex(68), + /* [132] */ MatcherIndex(13), + /* [133] */ MatcherIndex(0), + /* [134] */ MatcherIndex(2), + /* [135] */ MatcherIndex(4), + /* [136] */ MatcherIndex(68), + /* [137] */ MatcherIndex(0), + /* [138] */ MatcherIndex(7), + /* [139] */ MatcherIndex(1), + /* [140] */ MatcherIndex(2), + /* [141] */ MatcherIndex(68), + /* [142] */ MatcherIndex(0), + /* [143] */ MatcherIndex(8), + /* [144] */ MatcherIndex(1), + /* [145] */ MatcherIndex(2), + /* [146] */ MatcherIndex(29), + /* [147] */ MatcherIndex(2), + /* [148] */ MatcherIndex(70), + /* [149] */ MatcherIndex(3), + /* [150] */ MatcherIndex(1), + /* [151] */ MatcherIndex(29), + /* [152] */ MatcherIndex(1), + /* [153] */ MatcherIndex(70), + /* [154] */ MatcherIndex(2), /* [155] */ MatcherIndex(0), - /* [156] */ MatcherIndex(1), - /* [157] */ MatcherIndex(28), - /* [158] */ MatcherIndex(1), - /* [159] */ MatcherIndex(0), - /* [160] */ MatcherIndex(2), - /* [161] */ MatcherIndex(28), + /* [156] */ MatcherIndex(28), + /* [157] */ MatcherIndex(0), + /* [158] */ MatcherIndex(0), + /* [159] */ MatcherIndex(1), + /* [160] */ MatcherIndex(28), + /* [161] */ MatcherIndex(1), /* [162] */ MatcherIndex(0), - /* [163] */ MatcherIndex(1), - /* [164] */ MatcherIndex(2), - /* [165] */ MatcherIndex(29), - /* [166] */ MatcherIndex(20), - /* [167] */ MatcherIndex(0), - /* [168] */ MatcherIndex(14), - /* [169] */ MatcherIndex(29), - /* [170] */ MatcherIndex(2), - /* [171] */ MatcherIndex(0), - /* [172] */ MatcherIndex(1), - /* [173] */ MatcherIndex(29), - /* [174] */ MatcherIndex(2), - /* [175] */ MatcherIndex(62), - /* [176] */ MatcherIndex(1), - /* [177] */ MatcherIndex(29), - /* [178] */ MatcherIndex(1), - /* [179] */ MatcherIndex(62), - /* [180] */ MatcherIndex(0), - /* [181] */ MatcherIndex(29), - /* [182] */ MatcherIndex(0), - /* [183] */ MatcherIndex(1), - /* [184] */ MatcherIndex(2), - /* [185] */ MatcherIndex(30), - /* [186] */ MatcherIndex(0), - /* [187] */ MatcherIndex(1), - /* [188] */ MatcherIndex(2), - /* [189] */ MatcherIndex(28), + /* [163] */ MatcherIndex(2), + /* [164] */ MatcherIndex(28), + /* [165] */ MatcherIndex(0), + /* [166] */ MatcherIndex(1), + /* [167] */ MatcherIndex(2), + /* [168] */ MatcherIndex(29), + /* [169] */ MatcherIndex(26), + /* [170] */ MatcherIndex(0), + /* [171] */ MatcherIndex(20), + /* [172] */ MatcherIndex(29), + /* [173] */ MatcherIndex(2), + /* [174] */ MatcherIndex(0), + /* [175] */ MatcherIndex(1), + /* [176] */ MatcherIndex(29), + /* [177] */ MatcherIndex(2), + /* [178] */ MatcherIndex(69), + /* [179] */ MatcherIndex(1), + /* [180] */ MatcherIndex(29), + /* [181] */ MatcherIndex(1), + /* [182] */ MatcherIndex(69), + /* [183] */ MatcherIndex(0), + /* [184] */ MatcherIndex(29), + /* [185] */ MatcherIndex(0), + /* [186] */ MatcherIndex(1), + /* [187] */ MatcherIndex(2), + /* [188] */ MatcherIndex(30), + /* [189] */ MatcherIndex(0), /* [190] */ MatcherIndex(1), /* [191] */ MatcherIndex(2), - /* [192] */ MatcherIndex(0), - /* [193] */ MatcherIndex(28), + /* [192] */ MatcherIndex(28), + /* [193] */ MatcherIndex(1), /* [194] */ MatcherIndex(2), - /* [195] */ MatcherIndex(3), - /* [196] */ MatcherIndex(0), - /* [197] */ MatcherIndex(28), - /* [198] */ MatcherIndex(1), - /* [199] */ MatcherIndex(3), - /* [200] */ MatcherIndex(0), - /* [201] */ MatcherIndex(28), - /* [202] */ MatcherIndex(2), - /* [203] */ MatcherIndex(1), - /* [204] */ MatcherIndex(0), - /* [205] */ MatcherIndex(27), - /* [206] */ MatcherIndex(0), - /* [207] */ MatcherIndex(1), + /* [195] */ MatcherIndex(0), + /* [196] */ MatcherIndex(28), + /* [197] */ MatcherIndex(2), + /* [198] */ MatcherIndex(3), + /* [199] */ MatcherIndex(0), + /* [200] */ MatcherIndex(28), + /* [201] */ MatcherIndex(1), + /* [202] */ MatcherIndex(3), + /* [203] */ MatcherIndex(0), + /* [204] */ MatcherIndex(28), + /* [205] */ MatcherIndex(2), + /* [206] */ MatcherIndex(1), + /* [207] */ MatcherIndex(0), /* [208] */ MatcherIndex(27), /* [209] */ MatcherIndex(0), - /* [210] */ MatcherIndex(6), + /* [210] */ MatcherIndex(1), /* [211] */ MatcherIndex(27), - /* [212] */ MatcherIndex(1), - /* [213] */ MatcherIndex(0), + /* [212] */ MatcherIndex(0), + /* [213] */ MatcherIndex(6), /* [214] */ MatcherIndex(27), /* [215] */ MatcherIndex(1), - /* [216] */ MatcherIndex(80), + /* [216] */ MatcherIndex(0), /* [217] */ MatcherIndex(27), /* [218] */ MatcherIndex(1), - /* [219] */ MatcherIndex(2), + /* [219] */ MatcherIndex(87), /* [220] */ MatcherIndex(27), /* [221] */ MatcherIndex(1), - /* [222] */ MatcherIndex(14), + /* [222] */ MatcherIndex(2), /* [223] */ MatcherIndex(27), /* [224] */ MatcherIndex(1), - /* [225] */ MatcherIndex(12), + /* [225] */ MatcherIndex(14), /* [226] */ MatcherIndex(27), /* [227] */ MatcherIndex(1), - /* [228] */ MatcherIndex(9), + /* [228] */ MatcherIndex(12), /* [229] */ MatcherIndex(27), - /* [230] */ MatcherIndex(0), - /* [231] */ MatcherIndex(13), - /* [232] */ MatcherIndex(59), + /* [230] */ MatcherIndex(1), + /* [231] */ MatcherIndex(9), + /* [232] */ MatcherIndex(27), /* [233] */ MatcherIndex(0), - /* [234] */ MatcherIndex(1), - /* [235] */ MatcherIndex(27), + /* [234] */ MatcherIndex(13), + /* [235] */ MatcherIndex(66), /* [236] */ MatcherIndex(0), - /* [237] */ MatcherIndex(2), - /* [238] */ MatcherIndex(57), + /* [237] */ MatcherIndex(1), + /* [238] */ MatcherIndex(27), /* [239] */ MatcherIndex(0), - /* [240] */ MatcherIndex(1), - /* [241] */ MatcherIndex(49), + /* [240] */ MatcherIndex(2), + /* [241] */ MatcherIndex(64), /* [242] */ MatcherIndex(0), /* [243] */ MatcherIndex(1), - /* [244] */ MatcherIndex(50), - /* [245] */ MatcherIndex(0), - /* [246] */ MatcherIndex(1), - /* [247] */ MatcherIndex(51), - /* [248] */ MatcherIndex(0), - /* [249] */ MatcherIndex(1), - /* [250] */ MatcherIndex(52), - /* [251] */ MatcherIndex(0), - /* [252] */ MatcherIndex(1), - /* [253] */ MatcherIndex(54), - /* [254] */ MatcherIndex(0), - /* [255] */ MatcherIndex(1), - /* [256] */ MatcherIndex(49), - /* [257] */ MatcherIndex(1), - /* [258] */ MatcherIndex(2), - /* [259] */ MatcherIndex(50), - /* [260] */ MatcherIndex(1), - /* [261] */ MatcherIndex(2), - /* [262] */ MatcherIndex(51), - /* [263] */ MatcherIndex(1), - /* [264] */ MatcherIndex(2), - /* [265] */ MatcherIndex(52), - /* [266] */ MatcherIndex(1), - /* [267] */ MatcherIndex(2), - /* [268] */ MatcherIndex(54), - /* [269] */ MatcherIndex(1), - /* [270] */ MatcherIndex(2), - /* [271] */ MatcherIndex(27), - /* [272] */ MatcherIndex(2), - /* [273] */ MatcherIndex(0), - /* [274] */ MatcherIndex(27), - /* [275] */ MatcherIndex(1), - /* [276] */ MatcherIndex(6), - /* [277] */ MatcherIndex(17), - /* [278] */ MatcherIndex(14), - /* [279] */ MatcherIndex(58), - /* [280] */ MatcherIndex(0), - /* [281] */ MatcherIndex(56), - /* [282] */ MatcherIndex(0), - /* [283] */ MatcherIndex(17), - /* [284] */ MatcherIndex(13), - /* [285] */ MatcherIndex(17), - /* [286] */ MatcherIndex(11), - /* [287] */ MatcherIndex(17), - /* [288] */ MatcherIndex(12), - /* [289] */ MatcherIndex(37), + /* [244] */ MatcherIndex(44), + /* [245] */ MatcherIndex(13), + /* [246] */ MatcherIndex(0), + /* [247] */ MatcherIndex(45), + /* [248] */ MatcherIndex(13), + /* [249] */ MatcherIndex(0), + /* [250] */ MatcherIndex(46), + /* [251] */ MatcherIndex(13), + /* [252] */ MatcherIndex(0), + /* [253] */ MatcherIndex(47), + /* [254] */ MatcherIndex(13), + /* [255] */ MatcherIndex(0), + /* [256] */ MatcherIndex(48), + /* [257] */ MatcherIndex(13), + /* [258] */ MatcherIndex(0), + /* [259] */ MatcherIndex(49), + /* [260] */ MatcherIndex(13), + /* [261] */ MatcherIndex(0), + /* [262] */ MatcherIndex(56), + /* [263] */ MatcherIndex(0), + /* [264] */ MatcherIndex(1), + /* [265] */ MatcherIndex(57), + /* [266] */ MatcherIndex(0), + /* [267] */ MatcherIndex(1), + /* [268] */ MatcherIndex(58), + /* [269] */ MatcherIndex(0), + /* [270] */ MatcherIndex(1), + /* [271] */ MatcherIndex(59), + /* [272] */ MatcherIndex(0), + /* [273] */ MatcherIndex(1), + /* [274] */ MatcherIndex(61), + /* [275] */ MatcherIndex(0), + /* [276] */ MatcherIndex(1), + /* [277] */ MatcherIndex(45), + /* [278] */ MatcherIndex(0), + /* [279] */ MatcherIndex(1), + /* [280] */ MatcherIndex(45), + /* [281] */ MatcherIndex(0), + /* [282] */ MatcherIndex(6), + /* [283] */ MatcherIndex(45), + /* [284] */ MatcherIndex(0), + /* [285] */ MatcherIndex(7), + /* [286] */ MatcherIndex(45), + /* [287] */ MatcherIndex(0), + /* [288] */ MatcherIndex(2), + /* [289] */ MatcherIndex(46), /* [290] */ MatcherIndex(0), - /* [291] */ MatcherIndex(38), - /* [292] */ MatcherIndex(0), - /* [293] */ MatcherIndex(39), - /* [294] */ MatcherIndex(0), - /* [295] */ MatcherIndex(40), + /* [291] */ MatcherIndex(3), + /* [292] */ MatcherIndex(46), + /* [293] */ MatcherIndex(0), + /* [294] */ MatcherIndex(6), + /* [295] */ MatcherIndex(46), /* [296] */ MatcherIndex(0), - /* [297] */ MatcherIndex(41), - /* [298] */ MatcherIndex(0), - /* [299] */ MatcherIndex(42), - /* [300] */ MatcherIndex(0), - /* [301] */ MatcherIndex(43), + /* [297] */ MatcherIndex(7), + /* [298] */ MatcherIndex(48), + /* [299] */ MatcherIndex(0), + /* [300] */ MatcherIndex(1), + /* [301] */ MatcherIndex(48), /* [302] */ MatcherIndex(0), - /* [303] */ MatcherIndex(17), - /* [304] */ MatcherIndex(0), - /* [305] */ MatcherIndex(37), - /* [306] */ MatcherIndex(13), - /* [307] */ MatcherIndex(38), - /* [308] */ MatcherIndex(13), - /* [309] */ MatcherIndex(39), - /* [310] */ MatcherIndex(13), - /* [311] */ MatcherIndex(40), - /* [312] */ MatcherIndex(13), - /* [313] */ MatcherIndex(41), - /* [314] */ MatcherIndex(13), - /* [315] */ MatcherIndex(42), - /* [316] */ MatcherIndex(13), - /* [317] */ MatcherIndex(15), - /* [318] */ MatcherIndex(0), - /* [319] */ MatcherIndex(55), - /* [320] */ MatcherIndex(0), - /* [321] */ MatcherIndex(60), - /* [322] */ MatcherIndex(0), - /* [323] */ MatcherIndex(37), - /* [324] */ MatcherIndex(1), - /* [325] */ MatcherIndex(38), - /* [326] */ MatcherIndex(1), - /* [327] */ MatcherIndex(39), - /* [328] */ MatcherIndex(1), - /* [329] */ MatcherIndex(40), - /* [330] */ MatcherIndex(1), - /* [331] */ MatcherIndex(41), - /* [332] */ MatcherIndex(1), - /* [333] */ MatcherIndex(42), - /* [334] */ MatcherIndex(1), - /* [335] */ MatcherIndex(43), - /* [336] */ MatcherIndex(1), - /* [337] */ MatcherIndex(15), - /* [338] */ MatcherIndex(9), - /* [339] */ MatcherIndex(17), - /* [340] */ MatcherIndex(9), - /* [341] */ MatcherIndex(17), - /* [342] */ MatcherIndex(1), - /* [343] */ MatcherIndex(18), - /* [344] */ MatcherIndex(0), - /* [345] */ MatcherIndex(18), - /* [346] */ MatcherIndex(13), - /* [347] */ MatcherIndex(18), - /* [348] */ MatcherIndex(14), - /* [349] */ MatcherIndex(19), - /* [350] */ MatcherIndex(0), - /* [351] */ MatcherIndex(19), - /* [352] */ MatcherIndex(13), - /* [353] */ MatcherIndex(19), - /* [354] */ MatcherIndex(14), - /* [355] */ MatcherIndex(20), + /* [303] */ MatcherIndex(6), + /* [304] */ MatcherIndex(48), + /* [305] */ MatcherIndex(0), + /* [306] */ MatcherIndex(7), + /* [307] */ MatcherIndex(49), + /* [308] */ MatcherIndex(0), + /* [309] */ MatcherIndex(3), + /* [310] */ MatcherIndex(49), + /* [311] */ MatcherIndex(0), + /* [312] */ MatcherIndex(6), + /* [313] */ MatcherIndex(49), + /* [314] */ MatcherIndex(0), + /* [315] */ MatcherIndex(7), + /* [316] */ MatcherIndex(44), + /* [317] */ MatcherIndex(13), + /* [318] */ MatcherIndex(6), + /* [319] */ MatcherIndex(44), + /* [320] */ MatcherIndex(13), + /* [321] */ MatcherIndex(7), + /* [322] */ MatcherIndex(45), + /* [323] */ MatcherIndex(13), + /* [324] */ MatcherIndex(6), + /* [325] */ MatcherIndex(45), + /* [326] */ MatcherIndex(13), + /* [327] */ MatcherIndex(7), + /* [328] */ MatcherIndex(46), + /* [329] */ MatcherIndex(13), + /* [330] */ MatcherIndex(6), + /* [331] */ MatcherIndex(46), + /* [332] */ MatcherIndex(13), + /* [333] */ MatcherIndex(7), + /* [334] */ MatcherIndex(47), + /* [335] */ MatcherIndex(13), + /* [336] */ MatcherIndex(6), + /* [337] */ MatcherIndex(47), + /* [338] */ MatcherIndex(13), + /* [339] */ MatcherIndex(7), + /* [340] */ MatcherIndex(48), + /* [341] */ MatcherIndex(13), + /* [342] */ MatcherIndex(6), + /* [343] */ MatcherIndex(48), + /* [344] */ MatcherIndex(13), + /* [345] */ MatcherIndex(7), + /* [346] */ MatcherIndex(49), + /* [347] */ MatcherIndex(13), + /* [348] */ MatcherIndex(6), + /* [349] */ MatcherIndex(49), + /* [350] */ MatcherIndex(13), + /* [351] */ MatcherIndex(7), + /* [352] */ MatcherIndex(46), + /* [353] */ MatcherIndex(13), + /* [354] */ MatcherIndex(1), + /* [355] */ MatcherIndex(49), /* [356] */ MatcherIndex(13), - /* [357] */ MatcherIndex(20), - /* [358] */ MatcherIndex(14), - /* [359] */ MatcherIndex(21), - /* [360] */ MatcherIndex(0), - /* [361] */ MatcherIndex(21), - /* [362] */ MatcherIndex(13), - /* [363] */ MatcherIndex(21), - /* [364] */ MatcherIndex(14), - /* [365] */ MatcherIndex(22), - /* [366] */ MatcherIndex(0), - /* [367] */ MatcherIndex(22), - /* [368] */ MatcherIndex(13), - /* [369] */ MatcherIndex(22), - /* [370] */ MatcherIndex(14), - /* [371] */ MatcherIndex(23), - /* [372] */ MatcherIndex(0), - /* [373] */ MatcherIndex(23), - /* [374] */ MatcherIndex(13), - /* [375] */ MatcherIndex(23), - /* [376] */ MatcherIndex(14), - /* [377] */ MatcherIndex(24), - /* [378] */ MatcherIndex(0), - /* [379] */ MatcherIndex(24), - /* [380] */ MatcherIndex(13), - /* [381] */ MatcherIndex(24), - /* [382] */ MatcherIndex(14), - /* [383] */ MatcherIndex(25), - /* [384] */ MatcherIndex(0), - /* [385] */ MatcherIndex(25), + /* [357] */ MatcherIndex(1), + /* [358] */ MatcherIndex(56), + /* [359] */ MatcherIndex(1), + /* [360] */ MatcherIndex(2), + /* [361] */ MatcherIndex(57), + /* [362] */ MatcherIndex(1), + /* [363] */ MatcherIndex(2), + /* [364] */ MatcherIndex(58), + /* [365] */ MatcherIndex(1), + /* [366] */ MatcherIndex(2), + /* [367] */ MatcherIndex(59), + /* [368] */ MatcherIndex(1), + /* [369] */ MatcherIndex(2), + /* [370] */ MatcherIndex(61), + /* [371] */ MatcherIndex(1), + /* [372] */ MatcherIndex(2), + /* [373] */ MatcherIndex(44), + /* [374] */ MatcherIndex(0), + /* [375] */ MatcherIndex(3), + /* [376] */ MatcherIndex(45), + /* [377] */ MatcherIndex(0), + /* [378] */ MatcherIndex(3), + /* [379] */ MatcherIndex(46), + /* [380] */ MatcherIndex(0), + /* [381] */ MatcherIndex(4), + /* [382] */ MatcherIndex(47), + /* [383] */ MatcherIndex(0), + /* [384] */ MatcherIndex(3), + /* [385] */ MatcherIndex(44), /* [386] */ MatcherIndex(13), - /* [387] */ MatcherIndex(25), - /* [388] */ MatcherIndex(14), - /* [389] */ MatcherIndex(26), - /* [390] */ MatcherIndex(0), - /* [391] */ MatcherIndex(26), + /* [387] */ MatcherIndex(1), + /* [388] */ MatcherIndex(45), + /* [389] */ MatcherIndex(13), + /* [390] */ MatcherIndex(1), + /* [391] */ MatcherIndex(47), /* [392] */ MatcherIndex(13), - /* [393] */ MatcherIndex(26), - /* [394] */ MatcherIndex(14), - /* [395] */ MatcherIndex(72), - /* [396] */ MatcherIndex(76), - /* [397] */ MatcherIndex(84), - /* [398] */ MatcherIndex(78), - /* [399] */ MatcherIndex(65), - /* [400] */ MatcherIndex(73), - /* [401] */ MatcherIndex(64), - /* [402] */ MatcherIndex(44), - /* [403] */ MatcherIndex(45), - /* [404] */ MatcherIndex(46), - /* [405] */ MatcherIndex(47), - /* [406] */ MatcherIndex(48), - /* [407] */ MatcherIndex(53), - /* [408] */ MatcherIndex(35), - /* [409] */ MatcherIndex(36), - /* [410] */ MatcherIndex(10), - /* [411] */ MatcherIndex(79), - /* [412] */ MatcherIndex(83), - /* [413] */ MatcherIndex(85), - /* [414] */ MatcherIndex(86), - /* [415] */ MatcherIndex(66), - /* [416] */ MatcherIndex(77), - /* [417] */ MatcherIndex(69), - /* [418] */ MatcherIndex(70), - /* [419] */ MatcherIndex(67), - /* [420] */ MatcherIndex(68), - /* [421] */ MatcherIndex(71), + /* [393] */ MatcherIndex(1), + /* [394] */ MatcherIndex(48), + /* [395] */ MatcherIndex(13), + /* [396] */ MatcherIndex(1), + /* [397] */ MatcherIndex(27), + /* [398] */ MatcherIndex(2), + /* [399] */ MatcherIndex(0), + /* [400] */ MatcherIndex(27), + /* [401] */ MatcherIndex(1), + /* [402] */ MatcherIndex(6), + /* [403] */ MatcherIndex(15), + /* [404] */ MatcherIndex(14), + /* [405] */ MatcherIndex(15), + /* [406] */ MatcherIndex(87), + /* [407] */ MatcherIndex(17), + /* [408] */ MatcherIndex(14), + /* [409] */ MatcherIndex(15), + /* [410] */ MatcherIndex(1), + /* [411] */ MatcherIndex(16), + /* [412] */ MatcherIndex(0), + /* [413] */ MatcherIndex(65), + /* [414] */ MatcherIndex(0), + /* [415] */ MatcherIndex(63), + /* [416] */ MatcherIndex(0), + /* [417] */ MatcherIndex(15), + /* [418] */ MatcherIndex(13), + /* [419] */ MatcherIndex(17), + /* [420] */ MatcherIndex(13), + /* [421] */ MatcherIndex(17), + /* [422] */ MatcherIndex(11), + /* [423] */ MatcherIndex(17), + /* [424] */ MatcherIndex(12), + /* [425] */ MatcherIndex(38), + /* [426] */ MatcherIndex(0), + /* [427] */ MatcherIndex(39), + /* [428] */ MatcherIndex(0), + /* [429] */ MatcherIndex(40), + /* [430] */ MatcherIndex(0), + /* [431] */ MatcherIndex(16), + /* [432] */ MatcherIndex(12), + /* [433] */ MatcherIndex(41), + /* [434] */ MatcherIndex(0), + /* [435] */ MatcherIndex(42), + /* [436] */ MatcherIndex(0), + /* [437] */ MatcherIndex(43), + /* [438] */ MatcherIndex(0), + /* [439] */ MatcherIndex(50), + /* [440] */ MatcherIndex(0), + /* [441] */ MatcherIndex(17), + /* [442] */ MatcherIndex(0), + /* [443] */ MatcherIndex(37), + /* [444] */ MatcherIndex(2), + /* [445] */ MatcherIndex(37), + /* [446] */ MatcherIndex(1), + /* [447] */ MatcherIndex(37), + /* [448] */ MatcherIndex(9), + /* [449] */ MatcherIndex(15), + /* [450] */ MatcherIndex(11), + /* [451] */ MatcherIndex(37), + /* [452] */ MatcherIndex(3), + /* [453] */ MatcherIndex(16), + /* [454] */ MatcherIndex(13), + /* [455] */ MatcherIndex(38), + /* [456] */ MatcherIndex(13), + /* [457] */ MatcherIndex(37), + /* [458] */ MatcherIndex(0), + /* [459] */ MatcherIndex(39), + /* [460] */ MatcherIndex(13), + /* [461] */ MatcherIndex(40), + /* [462] */ MatcherIndex(13), + /* [463] */ MatcherIndex(41), + /* [464] */ MatcherIndex(13), + /* [465] */ MatcherIndex(16), + /* [466] */ MatcherIndex(11), + /* [467] */ MatcherIndex(42), + /* [468] */ MatcherIndex(13), + /* [469] */ MatcherIndex(43), + /* [470] */ MatcherIndex(13), + /* [471] */ MatcherIndex(15), + /* [472] */ MatcherIndex(0), + /* [473] */ MatcherIndex(16), + /* [474] */ MatcherIndex(1), + /* [475] */ MatcherIndex(62), + /* [476] */ MatcherIndex(0), + /* [477] */ MatcherIndex(67), + /* [478] */ MatcherIndex(0), + /* [479] */ MatcherIndex(38), + /* [480] */ MatcherIndex(1), + /* [481] */ MatcherIndex(39), + /* [482] */ MatcherIndex(1), + /* [483] */ MatcherIndex(40), + /* [484] */ MatcherIndex(1), + /* [485] */ MatcherIndex(41), + /* [486] */ MatcherIndex(1), + /* [487] */ MatcherIndex(42), + /* [488] */ MatcherIndex(1), + /* [489] */ MatcherIndex(43), + /* [490] */ MatcherIndex(1), + /* [491] */ MatcherIndex(50), + /* [492] */ MatcherIndex(1), + /* [493] */ MatcherIndex(15), + /* [494] */ MatcherIndex(9), + /* [495] */ MatcherIndex(16), + /* [496] */ MatcherIndex(9), + /* [497] */ MatcherIndex(17), + /* [498] */ MatcherIndex(9), + /* [499] */ MatcherIndex(17), + /* [500] */ MatcherIndex(1), + /* [501] */ MatcherIndex(18), + /* [502] */ MatcherIndex(0), + /* [503] */ MatcherIndex(18), + /* [504] */ MatcherIndex(13), + /* [505] */ MatcherIndex(18), + /* [506] */ MatcherIndex(14), + /* [507] */ MatcherIndex(19), + /* [508] */ MatcherIndex(0), + /* [509] */ MatcherIndex(19), + /* [510] */ MatcherIndex(13), + /* [511] */ MatcherIndex(19), + /* [512] */ MatcherIndex(14), + /* [513] */ MatcherIndex(23), + /* [514] */ MatcherIndex(0), + /* [515] */ MatcherIndex(23), + /* [516] */ MatcherIndex(13), + /* [517] */ MatcherIndex(23), + /* [518] */ MatcherIndex(14), + /* [519] */ MatcherIndex(24), + /* [520] */ MatcherIndex(0), + /* [521] */ MatcherIndex(24), + /* [522] */ MatcherIndex(13), + /* [523] */ MatcherIndex(24), + /* [524] */ MatcherIndex(14), + /* [525] */ MatcherIndex(25), + /* [526] */ MatcherIndex(0), + /* [527] */ MatcherIndex(25), + /* [528] */ MatcherIndex(13), + /* [529] */ MatcherIndex(25), + /* [530] */ MatcherIndex(14), + /* [531] */ MatcherIndex(26), + /* [532] */ MatcherIndex(13), + /* [533] */ MatcherIndex(26), + /* [534] */ MatcherIndex(14), + /* [535] */ MatcherIndex(79), + /* [536] */ MatcherIndex(83), + /* [537] */ MatcherIndex(91), + /* [538] */ MatcherIndex(85), + /* [539] */ MatcherIndex(72), + /* [540] */ MatcherIndex(80), + /* [541] */ MatcherIndex(71), + /* [542] */ MatcherIndex(10), + /* [543] */ MatcherIndex(51), + /* [544] */ MatcherIndex(52), + /* [545] */ MatcherIndex(53), + /* [546] */ MatcherIndex(54), + /* [547] */ MatcherIndex(55), + /* [548] */ MatcherIndex(60), + /* [549] */ MatcherIndex(35), + /* [550] */ MatcherIndex(36), + /* [551] */ MatcherIndex(86), + /* [552] */ MatcherIndex(90), + /* [553] */ MatcherIndex(92), + /* [554] */ MatcherIndex(93), + /* [555] */ MatcherIndex(73), + /* [556] */ MatcherIndex(84), + /* [557] */ MatcherIndex(76), + /* [558] */ MatcherIndex(77), + /* [559] */ MatcherIndex(74), + /* [560] */ MatcherIndex(75), + /* [561] */ MatcherIndex(78), }; static_assert(MatcherIndicesIndex::CanIndex(kMatcherIndices), @@ -2636,2512 +3049,6128 @@ constexpr ParameterInfo kParameters[] = { { /* [0] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(52), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(60), }, { /* [1] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [2] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [3] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [4] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [5] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [6] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [7] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [8] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [9] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [10] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [11] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [12] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [13] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [14] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [15] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [16] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [17] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), }, { /* [18] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), }, { /* [19] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(309), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [20] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [21] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [22] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [23] */ /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(66), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [24] */ /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(66), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [25] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [26] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [27] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(293), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [28] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [29] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [30] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [31] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [32] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(403), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [33] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(409), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(352), }, { /* [34] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [35] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [36] */ - /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [37] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [38] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(309), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [39] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [40] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(328), }, { /* [41] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [42] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [43] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [44] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(307), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [45] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [46] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [47] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [48] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [49] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [50] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(311), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [51] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [52] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [53] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [54] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [55] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(84), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), }, { /* [56] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(315), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [57] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [58] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [59] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [60] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [61] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), }, { /* [62] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(309), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(451), }, { /* [63] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [64] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [65] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [66] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [67] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(289), }, { /* [68] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(403), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [69] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [70] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [71] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [72] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [73] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(292), }, { /* [74] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(451), }, { /* [75] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(291), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [76] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [77] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [78] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [79] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(295), }, { /* [80] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(299), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [81] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [82] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [83] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [84] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(403), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(544), }, { /* [85] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(550), }, { /* [86] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [87] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [88] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [89] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(402), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [90] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(409), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [91] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [92] */ - /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [93] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [94] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(405), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [95] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(409), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [96] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [97] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [98] */ - /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [99] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(309), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [100] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [101] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [102] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(352), }, { /* [103] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [104] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(307), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [105] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [106] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [107] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [108] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(328), }, { /* [109] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(311), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [110] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [111] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [112] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(41), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [113] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(84), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [114] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(315), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [115] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [116] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [117] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [118] */ /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(41), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [119] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(313), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [120] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), }, { /* [121] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [122] */ - /* usage */ core::ParameterUsage::kDdx, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [123] */ - /* usage */ core::ParameterUsage::kDdy, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [124] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(307), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [125] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [126] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), }, { /* [127] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [128] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [129] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(311), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [130] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [131] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [132] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(247), }, { /* [133] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(84), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [134] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(315), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [135] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [136] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [137] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [138] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(322), }, { /* [139] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(402), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [140] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [141] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [142] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [143] */ /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [144] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(405), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(325), }, { /* [145] */ /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [146] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [147] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [148] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [149] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(80), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [150] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), }, { /* [151] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(86), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [152] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [153] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [154] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(21), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [155] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [156] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(86), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), }, { /* [157] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [158] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [159] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(91), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [160] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [161] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(86), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [162] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(253), }, { /* [163] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [164] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(97), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [165] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [166] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(86), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [167] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [168] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [169] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(28), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [170] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [171] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(86), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [172] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [173] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [174] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(35), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(337), }, { /* [175] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [176] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(86), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [177] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [178] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [179] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [180] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), }, { /* [181] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [182] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [183] */ - /* usage */ core::ParameterUsage::kComponent, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [184] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(297), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [185] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [186] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), }, { /* [187] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(402), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [188] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [189] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [190] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [191] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(404), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [192] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(409), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(355), }, { /* [193] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [194] */ - /* usage */ core::ParameterUsage::kDepthRef, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [195] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(307), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [196] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [197] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [198] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(78), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(346), }, { /* [199] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(311), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [200] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [201] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [202] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(84), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [203] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(313), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [204] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(349), }, { /* [205] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [206] */ - /* usage */ core::ParameterUsage::kBias, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [207] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(305), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [208] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [209] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [210] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [211] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(313), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [212] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [213] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [214] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(41), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [215] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(404), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [216] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [217] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(40), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [218] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [219] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(262), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [220] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [221] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(60), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [222] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(283), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(352), }, { /* [223] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(262), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [224] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [225] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(60), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [226] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(285), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [227] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(262), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [228] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(328), }, { /* [229] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(60), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [230] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(287), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [231] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(293), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [232] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [233] */ - /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [234] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(60), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [235] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(403), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [236] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [237] */ /* usage */ core::ParameterUsage::kArrayIndex, - /* matcher_indices */ MatcherIndicesIndex(20), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [238] */ /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), - }, - { - /* [239] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(62), - }, - { - /* [240] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [241] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [242] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [243] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(0), - }, - { - /* [244] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [245] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [246] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [247] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(68), - }, - { - /* [248] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [249] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [250] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [251] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(74), - }, - { - /* [252] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [253] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [254] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [255] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(7), - }, - { - /* [256] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [257] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [258] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [259] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(14), - }, - { - /* [260] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [261] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [262] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [263] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [264] */ - /* usage */ core::ParameterUsage::kY, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [265] */ - /* usage */ core::ParameterUsage::kZ, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [266] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [267] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [268] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [269] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [270] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [271] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(26), - }, - { - /* [272] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(26), - }, - { - /* [273] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(26), - }, - { - /* [274] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(26), - }, - { - /* [275] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(303), - }, - { - /* [276] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(303), - }, - { - /* [277] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(303), - }, - { - /* [278] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(303), - }, - { - /* [279] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(211), - }, - { - /* [280] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(211), - }, - { - /* [281] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(211), - }, - { - /* [282] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [283] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), - }, - { - /* [284] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), - }, - { - /* [285] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), - }, - { - /* [286] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), - }, - { - /* [287] */ - /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(20), }, + { + /* [239] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [240] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(544), + }, + { + /* [241] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [242] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [243] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [244] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [245] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [246] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [247] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [248] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [249] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [250] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [251] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [252] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [253] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [254] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [255] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [256] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [257] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(286), + }, + { + /* [258] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [259] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [260] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [261] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [262] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(280), + }, + { + /* [263] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [264] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [265] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [266] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [267] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(283), + }, + { + /* [268] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [269] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [270] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [271] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [272] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), + }, + { + /* [273] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [274] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [275] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [276] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [277] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), + }, + { + /* [278] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(451), + }, + { + /* [279] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [280] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [281] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [282] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(307), + }, + { + /* [283] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [284] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [285] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [286] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [287] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(310), + }, { /* [288] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(451), }, { /* [289] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [290] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(109), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [291] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [292] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(313), }, { /* [293] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(208), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [294] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(208), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [295] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(407), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), }, { /* [296] */ - /* usage */ core::ParameterUsage::kSampler, - /* matcher_indices */ MatcherIndicesIndex(408), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(544), }, { /* [297] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [298] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(256), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [299] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [300] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(283), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [301] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(259), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(543), }, { /* [302] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(550), }, { /* [303] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(283), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [304] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(265), + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [305] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(26), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [306] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(283), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(546), }, { /* [307] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(268), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(550), }, { /* [308] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [309] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(283), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [310] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(256), + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [311] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [312] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(285), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [313] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(259), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [314] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [315] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(285), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [316] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(265), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(461), }, { /* [317] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(26), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [318] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(285), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [319] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(268), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [320] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [321] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(285), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(250), }, { /* [322] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(256), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [323] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [324] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(287), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [325] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(259), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [326] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(328), }, { /* [327] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(287), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [328] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(265), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [329] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(26), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), }, { /* [330] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(287), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [331] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(268), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(331), }, { /* [332] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [333] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(287), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [334] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(289), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [335] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [336] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), }, { /* [337] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(291), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [338] */ /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(19), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [339] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [340] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(295), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [341] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(95), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), }, { /* [342] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [343] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(301), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [344] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [345] */ - /* usage */ core::ParameterUsage::kSampleIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [346] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(402), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(247), }, { /* [347] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [348] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [349] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(406), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [350] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [351] */ - /* usage */ core::ParameterUsage::kSampleIndex, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(322), }, { /* [352] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(123), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [353] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(128), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [354] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(118), - }, - { - /* [355] */ - /* usage */ core::ParameterUsage::kXy, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [356] */ - /* usage */ core::ParameterUsage::kZ, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [357] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [358] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [359] */ - /* usage */ core::ParameterUsage::kYz, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [360] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [361] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [362] */ - /* usage */ core::ParameterUsage::kY, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [363] */ - /* usage */ core::ParameterUsage::kZw, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [364] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [365] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(20), }, + { + /* [355] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [356] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(325), + }, + { + /* [357] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [358] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [359] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [360] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [361] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), + }, + { + /* [362] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [363] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [364] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [365] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), + }, { /* [366] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(205), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), }, { /* [367] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(235), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [368] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(289), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [369] */ - /* usage */ core::ParameterUsage::kLevel, + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [370] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(291), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [371] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(253), }, { /* [372] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(293), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [373] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [374] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(295), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [375] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [376] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(297), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [377] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(20), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [378] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(299), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [379] */ - /* usage */ core::ParameterUsage::kLevel, + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [380] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(402), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [381] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(337), }, { /* [382] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(403), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [383] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [384] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(404), + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [385] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [386] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(405), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), }, { /* [387] */ - /* usage */ core::ParameterUsage::kLevel, - /* matcher_indices */ MatcherIndicesIndex(27), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [388] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(407), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [389] */ - /* usage */ core::ParameterUsage::kCoords, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [390] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [391] */ - /* usage */ core::ParameterUsage::kSourceLaneIndex, - /* matcher_indices */ MatcherIndicesIndex(397), - }, - { - /* [392] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(205), - }, - { - /* [393] */ - /* usage */ core::ParameterUsage::kSourceLaneIndex, - /* matcher_indices */ MatcherIndicesIndex(397), - }, - { - /* [394] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [395] */ - /* usage */ core::ParameterUsage::kMask, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [396] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(205), - }, - { - /* [397] */ - /* usage */ core::ParameterUsage::kMask, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [398] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [399] */ - /* usage */ core::ParameterUsage::kDelta, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [400] */ - /* usage */ core::ParameterUsage::kValue, - /* matcher_indices */ MatcherIndicesIndex(205), - }, - { - /* [401] */ - /* usage */ core::ParameterUsage::kDelta, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [402] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [403] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(397), - }, - { - /* [404] */ - /* usage */ core::ParameterUsage::kE, - /* matcher_indices */ MatcherIndicesIndex(205), - }, - { - /* [405] */ - /* usage */ core::ParameterUsage::kId, - /* matcher_indices */ MatcherIndicesIndex(397), - }, - { - /* [406] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(108), - }, - { - /* [407] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(113), - }, - { - /* [408] */ - /* usage */ core::ParameterUsage::kM, - /* matcher_indices */ MatcherIndicesIndex(86), - }, - { - /* [409] */ - /* usage */ core::ParameterUsage::kS, - /* matcher_indices */ MatcherIndicesIndex(20), - }, - { - /* [410] */ - /* usage */ core::ParameterUsage::kM, - /* matcher_indices */ MatcherIndicesIndex(133), - }, - { - /* [411] */ - /* usage */ core::ParameterUsage::kS, - /* matcher_indices */ MatcherIndicesIndex(10), - }, - { - /* [412] */ - /* usage */ core::ParameterUsage::kM, - /* matcher_indices */ MatcherIndicesIndex(138), - }, - { - /* [413] */ - /* usage */ core::ParameterUsage::kS, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [414] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(143), - }, - { - /* [415] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [416] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(143), - }, - { - /* [417] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(10), - }, - { - /* [418] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(173), - }, - { - /* [419] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(17), - }, - { - /* [420] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(173), - }, - { - /* [421] */ - /* usage */ core::ParameterUsage::kOffset, - /* matcher_indices */ MatcherIndicesIndex(10), - }, - { - /* [422] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(211), - }, - { - /* [423] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [424] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(211), - }, - { - /* [425] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(223), - }, - { - /* [426] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(189), - }, - { - /* [427] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(189), - }, - { - /* [428] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [429] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(189), - }, - { - /* [430] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(211), - }, - { - /* [431] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(271), - }, - { - /* [432] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(189), - }, - { - /* [433] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(197), - }, - { - /* [434] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(201), - }, - { - /* [435] */ - /* usage */ core::ParameterUsage::kXy, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [436] */ - /* usage */ core::ParameterUsage::kZw, - /* matcher_indices */ MatcherIndicesIndex(317), - }, - { - /* [437] */ - /* usage */ core::ParameterUsage::kXyz, - /* matcher_indices */ MatcherIndicesIndex(26), - }, - { - /* [438] */ - /* usage */ core::ParameterUsage::kW, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [439] */ - /* usage */ core::ParameterUsage::kX, - /* matcher_indices */ MatcherIndicesIndex(27), - }, - { - /* [440] */ - /* usage */ core::ParameterUsage::kZyw, - /* matcher_indices */ MatcherIndicesIndex(26), - }, - { - /* [441] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(42), - }, - { - /* [442] */ - /* usage */ core::ParameterUsage::kNone, + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(6), }, + { + /* [390] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [391] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), + }, + { + /* [392] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [393] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [394] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [395] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [396] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(355), + }, + { + /* [397] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [398] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [399] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [400] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [401] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(346), + }, + { + /* [402] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [403] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [404] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [405] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [406] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(349), + }, + { + /* [407] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [408] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [409] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [410] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [411] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(467), + }, + { + /* [412] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [413] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [414] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [415] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [416] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(467), + }, + { + /* [417] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [418] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [419] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [420] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [421] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(256), + }, + { + /* [422] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [423] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [424] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [425] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [426] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(340), + }, + { + /* [427] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [428] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [429] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [430] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [431] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(340), + }, + { + /* [432] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [433] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [434] */ + /* usage */ core::ParameterUsage::kDdx, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [435] */ + /* usage */ core::ParameterUsage::kDdy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [436] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), + }, + { + /* [437] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [438] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [439] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [440] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [441] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), + }, + { + /* [442] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, { /* [443] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(217), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [444] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(220), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [445] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(102), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [446] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(226), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(247), }, { /* [447] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(5), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [448] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(277), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [449] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(19), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [450] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(153), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [451] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(41), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(322), }, { /* [452] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(229), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [453] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(66), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [454] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(283), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [455] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(285), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [456] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(287), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(325), }, { /* [457] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(161), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [458] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(165), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), }, { /* [459] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(47), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [460] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(241), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), }, { /* [461] */ /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(244), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), }, { /* [462] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(247), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [463] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(250), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [464] */ - /* usage */ core::ParameterUsage::kTexture, - /* matcher_indices */ MatcherIndicesIndex(253), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [465] */ - /* usage */ core::ParameterUsage::kInputAttachment, - /* matcher_indices */ MatcherIndicesIndex(319), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [466] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(148), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), }, { /* [467] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(177), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [468] */ - /* usage */ core::ParameterUsage::kIndex, - /* matcher_indices */ MatcherIndicesIndex(3), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [469] */ - /* usage */ core::ParameterUsage::kIndex, + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [470] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(185), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [471] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(181), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(253), }, { /* [472] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(10), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [473] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(95), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [474] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(341), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [475] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(343), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [476] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(345), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(334), }, { /* [477] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(347), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), }, { /* [478] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(349), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [479] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(351), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [480] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(353), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [481] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(166), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(337), }, { /* [482] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(355), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), }, { /* [483] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(357), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [484] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(359), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [485] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(361), + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), }, { /* [486] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(363), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), }, { /* [487] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(365), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [488] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(367), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [489] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(369), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [490] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(371), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [491] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(373), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), }, { /* [492] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(375), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), }, { /* [493] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(377), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [494] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(379), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [495] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(381), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [496] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(383), + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(355), }, { /* [497] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(385), + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), }, { /* [498] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(387), + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), }, { /* [499] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(389), + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), }, { /* [500] */ - /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(391), + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), }, { /* [501] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(346), + }, + { + /* [502] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [503] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [504] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [505] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [506] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(349), + }, + { + /* [507] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [508] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [509] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [510] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [511] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(543), + }, + { + /* [512] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [513] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [514] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [515] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [516] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(546), + }, + { + /* [517] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [518] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [519] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [520] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [521] */ /* usage */ core::ParameterUsage::kNone, - /* matcher_indices */ MatcherIndicesIndex(393), + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(86), + }, + { + /* [522] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [523] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(91), + }, + { + /* [524] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [525] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [526] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(28), + }, + { + /* [527] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [528] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(91), + }, + { + /* [529] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [530] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [531] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(96), + }, + { + /* [532] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [533] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(91), + }, + { + /* [534] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [535] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [536] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(101), + }, + { + /* [537] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [538] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(91), + }, + { + /* [539] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [540] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [541] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(35), + }, + { + /* [542] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [543] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(91), + }, + { + /* [544] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [545] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [546] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(42), + }, + { + /* [547] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [548] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(91), + }, + { + /* [549] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [550] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [551] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [552] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [553] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [554] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [555] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [556] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(277), + }, + { + /* [557] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [558] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [559] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [560] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(280), + }, + { + /* [561] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [562] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [563] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [564] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [565] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [566] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [567] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [568] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [569] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(443), + }, + { + /* [570] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [571] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [572] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(298), + }, + { + /* [573] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [574] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [575] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [576] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(301), + }, + { + /* [577] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(445), + }, + { + /* [578] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [579] */ + /* usage */ core::ParameterUsage::kComponent, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [580] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(304), + }, + { + /* [581] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [582] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [583] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(543), + }, + { + /* [584] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [585] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [586] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [587] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(545), + }, + { + /* [588] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(550), + }, + { + /* [589] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [590] */ + /* usage */ core::ParameterUsage::kDepthRef, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [591] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), + }, + { + /* [592] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [593] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [594] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [595] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(459), + }, + { + /* [596] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [597] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [598] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [599] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(247), + }, + { + /* [600] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [601] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [602] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [603] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(322), + }, + { + /* [604] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [605] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [606] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [607] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(325), + }, + { + /* [608] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [609] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [610] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(449), + }, + { + /* [611] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), + }, + { + /* [612] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [613] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [614] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), + }, + { + /* [615] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(463), + }, + { + /* [616] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [617] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [618] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), + }, + { + /* [619] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(253), + }, + { + /* [620] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [621] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [622] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), + }, + { + /* [623] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(334), + }, + { + /* [624] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [625] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [626] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), + }, + { + /* [627] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(337), + }, + { + /* [628] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [629] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [630] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(465), + }, + { + /* [631] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(469), + }, + { + /* [632] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [633] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [634] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [635] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(259), + }, + { + /* [636] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [637] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [638] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [639] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(346), + }, + { + /* [640] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [641] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [642] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [643] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(467), + }, + { + /* [644] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [645] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [646] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [647] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(467), + }, + { + /* [648] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [649] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [650] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [651] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(256), + }, + { + /* [652] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [653] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [654] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [655] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(340), + }, + { + /* [656] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [657] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [658] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [659] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(343), + }, + { + /* [660] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [661] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [662] */ + /* usage */ core::ParameterUsage::kBias, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [663] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(455), + }, + { + /* [664] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [665] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [666] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [667] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(455), + }, + { + /* [668] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [669] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [670] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [671] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(244), + }, + { + /* [672] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [673] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [674] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [675] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(316), + }, + { + /* [676] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [677] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [678] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [679] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(319), + }, + { + /* [680] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [681] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [682] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [683] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(467), + }, + { + /* [684] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [685] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [686] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [687] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(467), + }, + { + /* [688] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [689] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [690] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [691] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(256), + }, + { + /* [692] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [693] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [694] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [695] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(340), + }, + { + /* [696] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(457), + }, + { + /* [697] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [698] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [699] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(343), + }, + { + /* [700] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(447), + }, + { + /* [701] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [702] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [703] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(545), + }, + { + /* [704] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [705] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(453), + }, + { + /* [706] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [707] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(364), + }, + { + /* [708] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [709] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(69), + }, + { + /* [710] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [711] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(364), + }, + { + /* [712] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [713] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(69), + }, + { + /* [714] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [715] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(364), + }, + { + /* [716] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [717] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(69), + }, + { + /* [718] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [719] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), + }, + { + /* [720] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(409), + }, + { + /* [721] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [722] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(69), + }, + { + /* [723] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(379), + }, + { + /* [724] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(409), + }, + { + /* [725] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [726] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(69), + }, + { + /* [727] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(544), + }, + { + /* [728] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [729] */ + /* usage */ core::ParameterUsage::kArrayIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [730] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [731] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(71), + }, + { + /* [732] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [733] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [734] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [735] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(7), + }, + { + /* [736] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [737] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [738] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [739] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(76), + }, + { + /* [740] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [741] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [742] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [743] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(81), + }, + { + /* [744] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [745] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [746] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [747] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(14), + }, + { + /* [748] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [749] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [750] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [751] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(21), + }, + { + /* [752] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [753] */ + /* usage */ core::ParameterUsage::kColMajor, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [754] */ + /* usage */ core::ParameterUsage::kStride, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [755] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [756] */ + /* usage */ core::ParameterUsage::kY, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [757] */ + /* usage */ core::ParameterUsage::kZ, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [758] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [759] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [760] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [761] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [762] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [763] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [764] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [765] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [766] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [767] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), + }, + { + /* [768] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), + }, + { + /* [769] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), + }, + { + /* [770] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(441), + }, + { + /* [771] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(214), + }, + { + /* [772] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(214), + }, + { + /* [773] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(214), + }, + { + /* [774] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [775] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [776] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [777] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [778] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [779] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [780] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [781] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [782] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(213), + }, + { + /* [783] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [784] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [785] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(211), + }, + { + /* [786] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(211), + }, + { + /* [787] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(548), + }, + { + /* [788] */ + /* usage */ core::ParameterUsage::kSampler, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(549), + }, + { + /* [789] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [790] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(358), + }, + { + /* [791] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [792] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [793] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(361), + }, + { + /* [794] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [795] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [796] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(367), + }, + { + /* [797] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [798] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [799] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(370), + }, + { + /* [800] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [801] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [802] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(358), + }, + { + /* [803] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [804] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [805] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(361), + }, + { + /* [806] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [807] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [808] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(367), + }, + { + /* [809] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [810] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [811] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(370), + }, + { + /* [812] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [813] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [814] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(358), + }, + { + /* [815] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [816] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [817] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(361), + }, + { + /* [818] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [819] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [820] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(367), + }, + { + /* [821] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [822] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [823] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(370), + }, + { + /* [824] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [825] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [826] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [827] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [828] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [829] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [830] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(409), + }, + { + /* [831] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [832] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(433), + }, + { + /* [833] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(473), + }, + { + /* [834] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [835] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(373), + }, + { + /* [836] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [837] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [838] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(376), + }, + { + /* [839] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(409), + }, + { + /* [840] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [841] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(382), + }, + { + /* [842] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(473), + }, + { + /* [843] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [844] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(439), + }, + { + /* [845] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(409), + }, + { + /* [846] */ + /* usage */ core::ParameterUsage::kSampleIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [847] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(543), + }, + { + /* [848] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [849] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [850] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(547), + }, + { + /* [851] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [852] */ + /* usage */ core::ParameterUsage::kSampleIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [853] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(126), + }, + { + /* [854] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(131), + }, + { + /* [855] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(121), + }, + { + /* [856] */ + /* usage */ core::ParameterUsage::kXy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [857] */ + /* usage */ core::ParameterUsage::kZ, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [858] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [859] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [860] */ + /* usage */ core::ParameterUsage::kYz, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [861] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [862] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [863] */ + /* usage */ core::ParameterUsage::kY, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [864] */ + /* usage */ core::ParameterUsage::kZw, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [865] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [866] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [867] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [868] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(238), + }, + { + /* [869] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(425), + }, + { + /* [870] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [871] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(427), + }, + { + /* [872] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [873] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(429), + }, + { + /* [874] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [875] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(433), + }, + { + /* [876] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [877] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(435), + }, + { + /* [878] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [879] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(437), + }, + { + /* [880] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [881] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(244), + }, + { + /* [882] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [883] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(247), + }, + { + /* [884] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [885] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(250), + }, + { + /* [886] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [887] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(253), + }, + { + /* [888] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [889] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(256), + }, + { + /* [890] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [891] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(259), + }, + { + /* [892] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [893] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(543), + }, + { + /* [894] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [895] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(544), + }, + { + /* [896] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [897] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(545), + }, + { + /* [898] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [899] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(546), + }, + { + /* [900] */ + /* usage */ core::ParameterUsage::kLevel, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [901] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(548), + }, + { + /* [902] */ + /* usage */ core::ParameterUsage::kCoords, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [903] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(0), + }, + { + /* [904] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(3), + }, + { + /* [905] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [906] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(537), + }, + { + /* [907] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [908] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(537), + }, + { + /* [909] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [910] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(537), + }, + { + /* [911] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [912] */ + /* usage */ core::ParameterUsage::kSourceLaneIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(537), + }, + { + /* [913] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [914] */ + /* usage */ core::ParameterUsage::kMask, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [915] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [916] */ + /* usage */ core::ParameterUsage::kMask, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [917] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [918] */ + /* usage */ core::ParameterUsage::kDelta, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [919] */ + /* usage */ core::ParameterUsage::kValue, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [920] */ + /* usage */ core::ParameterUsage::kDelta, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [921] */ + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [922] */ + /* usage */ core::ParameterUsage::kId, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(537), + }, + { + /* [923] */ + /* usage */ core::ParameterUsage::kE, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(208), + }, + { + /* [924] */ + /* usage */ core::ParameterUsage::kId, + /* is_const */ true, + /* matcher_indices */ MatcherIndicesIndex(537), + }, + { + /* [925] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(111), + }, + { + /* [926] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(116), + }, + { + /* [927] */ + /* usage */ core::ParameterUsage::kM, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(91), + }, + { + /* [928] */ + /* usage */ core::ParameterUsage::kS, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [929] */ + /* usage */ core::ParameterUsage::kM, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(136), + }, + { + /* [930] */ + /* usage */ core::ParameterUsage::kS, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [931] */ + /* usage */ core::ParameterUsage::kM, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(141), + }, + { + /* [932] */ + /* usage */ core::ParameterUsage::kS, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [933] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(146), + }, + { + /* [934] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [935] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(146), + }, + { + /* [936] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [937] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(176), + }, + { + /* [938] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(4), + }, + { + /* [939] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(176), + }, + { + /* [940] */ + /* usage */ core::ParameterUsage::kOffset, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [941] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(214), + }, + { + /* [942] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [943] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(214), + }, + { + /* [944] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(226), + }, + { + /* [945] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(192), + }, + { + /* [946] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(192), + }, + { + /* [947] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [948] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(192), + }, + { + /* [949] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(214), + }, + { + /* [950] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(397), + }, + { + /* [951] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(192), + }, + { + /* [952] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(200), + }, + { + /* [953] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(204), + }, + { + /* [954] */ + /* usage */ core::ParameterUsage::kXy, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [955] */ + /* usage */ core::ParameterUsage::kZw, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(471), + }, + { + /* [956] */ + /* usage */ core::ParameterUsage::kXyz, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [957] */ + /* usage */ core::ParameterUsage::kW, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [958] */ + /* usage */ core::ParameterUsage::kX, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(6), + }, + { + /* [959] */ + /* usage */ core::ParameterUsage::kZyw, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(411), + }, + { + /* [960] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(49), + }, + { + /* [961] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(27), + }, + { + /* [962] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(231), + }, + { + /* [963] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(403), + }, + { + /* [964] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(407), + }, + { + /* [965] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(220), + }, + { + /* [966] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(223), + }, + { + /* [967] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(229), + }, + { + /* [968] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(409), + }, + { + /* [969] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(156), + }, + { + /* [970] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(20), + }, + { + /* [971] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(232), + }, + { + /* [972] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(417), + }, + { + /* [973] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(419), + }, + { + /* [974] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(421), + }, + { + /* [975] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(423), + }, + { + /* [976] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(164), + }, + { + /* [977] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(168), + }, + { + /* [978] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(54), + }, + { + /* [979] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(262), + }, + { + /* [980] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(265), + }, + { + /* [981] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(268), + }, + { + /* [982] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(271), + }, + { + /* [983] */ + /* usage */ core::ParameterUsage::kTexture, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(274), + }, + { + /* [984] */ + /* usage */ core::ParameterUsage::kInputAttachment, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(475), + }, + { + /* [985] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(151), + }, + { + /* [986] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(180), + }, + { + /* [987] */ + /* usage */ core::ParameterUsage::kIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(10), + }, + { + /* [988] */ + /* usage */ core::ParameterUsage::kIndex, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(31), + }, + { + /* [989] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(188), + }, + { + /* [990] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(184), + }, + { + /* [991] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(17), + }, + { + /* [992] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(473), + }, + { + /* [993] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(499), + }, + { + /* [994] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(501), + }, + { + /* [995] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(503), + }, + { + /* [996] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(505), + }, + { + /* [997] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(507), + }, + { + /* [998] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(509), + }, + { + /* [999] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(511), + }, + { + /* [1000] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(5), + }, + { + /* [1001] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(58), + }, + { + /* [1002] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(64), + }, + { + /* [1003] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(12), + }, + { + /* [1004] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(19), + }, + { + /* [1005] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(26), + }, + { + /* [1006] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(33), + }, + { + /* [1007] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(40), + }, + { + /* [1008] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(47), + }, + { + /* [1009] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(513), + }, + { + /* [1010] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(515), + }, + { + /* [1011] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(517), + }, + { + /* [1012] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(519), + }, + { + /* [1013] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(521), + }, + { + /* [1014] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(523), + }, + { + /* [1015] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(525), + }, + { + /* [1016] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(527), + }, + { + /* [1017] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(529), + }, + { + /* [1018] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(169), + }, + { + /* [1019] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(531), + }, + { + /* [1020] */ + /* usage */ core::ParameterUsage::kNone, + /* is_const */ false, + /* matcher_indices */ MatcherIndicesIndex(533), }, }; @@ -5152,7 +9181,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [0] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(57), + /* matcher_indices */ MatcherIndicesIndex(66), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5164,7 +9193,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [2] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(411), + /* matcher_indices */ MatcherIndicesIndex(551), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5188,7 +9217,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [6] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(57), + /* matcher_indices */ MatcherIndicesIndex(66), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5200,7 +9229,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [8] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(114), + /* matcher_indices */ MatcherIndicesIndex(138), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5224,7 +9253,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [12] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(57), + /* matcher_indices */ MatcherIndicesIndex(66), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5236,7 +9265,7 @@ constexpr TemplateInfo kTemplates[] = { { /* [14] */ /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(104), + /* matcher_indices */ MatcherIndicesIndex(143), /* kind */ TemplateInfo::Kind::kType, }, { @@ -5259,136 +9288,136 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [18] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(412), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [19] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(6), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [20] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [21] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [22] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [23] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(411), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [24] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [25] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [26] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(41), + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, + { + /* [26] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, + }, { /* [27] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(41), + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(552), /* kind */ TemplateInfo::Kind::kType, }, { /* [28] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(27), + /* kind */ TemplateInfo::Kind::kType, }, { /* [29] */ - /* name */ "R", + /* name */ "C", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [30] */ - /* name */ "K", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [31] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [32] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [33] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(413), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [34] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(414), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [35] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [36] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [37] */ /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [38] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(397), + /* [32] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(551), /* kind */ TemplateInfo::Kind::kType, }, { - /* [39] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(397), + /* [33] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [34] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [35] */ + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, + { + /* [36] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [37] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [38] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [39] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, { /* [40] */ /* name */ "C", @@ -5403,1052 +9432,1400 @@ constexpr TemplateInfo kTemplates[] = { }, { /* [42] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(553), + /* kind */ TemplateInfo::Kind::kType, }, { /* [43] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(6), + /* matcher_indices */ MatcherIndicesIndex(554), /* kind */ TemplateInfo::Kind::kType, }, { /* [44] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(412), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [45] */ - /* name */ "C", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [46] */ - /* name */ "R", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [47] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [48] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(41), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [49] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(41), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [50] */ - /* name */ "C", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [51] */ - /* name */ "R", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [52] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(27), + /* kind */ TemplateInfo::Kind::kType, }, { /* [53] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(414), + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(552), /* kind */ TemplateInfo::Kind::kType, }, { /* [54] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(413), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [55] */ - /* name */ "C", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [56] */ - /* name */ "R", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [57] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), + /* kind */ TemplateInfo::Kind::kType, }, { /* [58] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [59] */ - /* name */ "TR", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [60] */ - /* name */ "C", + /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [61] */ - /* name */ "R", + /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [62] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(554), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [63] */ + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(553), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [64] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [65] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [66] */ /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, - { - /* [63] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [64] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(102), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [65] */ - /* name */ "W", - /* matcher_indices */ MatcherIndicesIndex(26), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [66] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, { /* [67] */ - /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [68] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "TR", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [69] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(410), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [70] */ - /* name */ "W", - /* matcher_indices */ MatcherIndicesIndex(26), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [71] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [72] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [73] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(10), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [74] */ - /* name */ "W", - /* matcher_indices */ MatcherIndicesIndex(26), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [75] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [76] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(13), + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [77] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [78] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [79] */ - /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [80] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [81] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(102), + /* matcher_indices */ MatcherIndicesIndex(3), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [82] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(17), + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(33), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [83] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [84] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [85] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(410), + /* matcher_indices */ MatcherIndicesIndex(411), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [86] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(17), + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(33), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [87] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [88] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [89] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(10), + /* matcher_indices */ MatcherIndicesIndex(407), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [90] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(17), + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(33), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [91] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [92] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(219), /* kind */ TemplateInfo::Kind::kType, }, { /* [93] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(102), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [94] */ - /* name */ "RW", - /* matcher_indices */ MatcherIndicesIndex(6), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [95] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [96] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [97] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(410), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [98] */ - /* name */ "RW", - /* matcher_indices */ MatcherIndicesIndex(6), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [99] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [100] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [101] */ /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(10), + /* matcher_indices */ MatcherIndicesIndex(3), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [102] */ - /* name */ "RW", - /* matcher_indices */ MatcherIndicesIndex(6), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(501), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [103] */ /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [104] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [105] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(17), + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(411), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [106] */ - /* name */ "AS", - /* matcher_indices */ MatcherIndicesIndex(359), + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(501), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [107] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [108] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(396), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [109] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(398), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(407), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [110] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(501), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [111] */ - /* name */ "W", - /* matcher_indices */ MatcherIndicesIndex(6), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [112] */ - /* name */ "AS", - /* matcher_indices */ MatcherIndicesIndex(1), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [113] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(3), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [114] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(395), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "RW", + /* matcher_indices */ MatcherIndicesIndex(5), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [115] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [116] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [117] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(411), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [118] */ + /* name */ "RW", + /* matcher_indices */ MatcherIndicesIndex(5), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [119] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [120] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [121] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(407), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [122] */ + /* name */ "RW", + /* matcher_indices */ MatcherIndicesIndex(5), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [123] */ + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [124] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [125] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(501), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [126] */ + /* name */ "AS", + /* matcher_indices */ MatcherIndicesIndex(208), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [127] */ /* name */ "N", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [116] */ + /* [128] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(536), /* kind */ TemplateInfo::Kind::kType, }, { - /* [117] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(1), + /* [129] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(538), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [130] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [131] */ + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(5), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [118] */ + /* [132] */ + /* name */ "AS", + /* matcher_indices */ MatcherIndicesIndex(8), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [133] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [134] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(396), + /* matcher_indices */ MatcherIndicesIndex(535), /* kind */ TemplateInfo::Kind::kType, }, { - /* [119] */ + /* [135] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [136] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [137] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(8), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [138] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(536), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [139] */ /* name */ "K", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [120] */ + /* [140] */ /* name */ "C", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, { - /* [121] */ + /* [141] */ /* name */ "R", /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kNumber, }, - { - /* [122] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(214), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [123] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [124] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [125] */ - /* name */ "M", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [126] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [127] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(396), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [128] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [129] */ - /* name */ "M", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [130] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [131] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [132] */ - /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [133] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [134] */ - /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [135] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [136] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(323), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [137] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [138] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [139] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(325), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [140] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, - }, - { - /* [141] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, - }, { /* [142] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(327), + /* matcher_indices */ MatcherIndicesIndex(217), /* kind */ TemplateInfo::Kind::kType, }, { /* [143] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [144] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(219), /* kind */ TemplateInfo::Kind::kType, }, { /* [145] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(329), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "M", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [146] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [147] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(536), /* kind */ TemplateInfo::Kind::kType, }, { /* [148] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(331), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [149] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "M", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [150] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [151] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(333), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [152] */ /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(13), - /* kind */ TemplateInfo::Kind::kType, + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [153] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [154] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(335), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [155] */ - /* name */ "K", - /* matcher_indices */ MatcherIndicesIndex(13), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [156] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [157] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, - }, - { - /* [158] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { - /* [159] */ - /* name */ "A", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* [158] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(17), /* kind */ TemplateInfo::Kind::kNumber, }, + { + /* [159] */ + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, { /* [160] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(396), + /* matcher_indices */ MatcherIndicesIndex(20), /* kind */ TemplateInfo::Kind::kType, }, { /* [161] */ /* name */ "C", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [162] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), /* kind */ TemplateInfo::Kind::kNumber, }, { /* [163] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* matcher_indices */ MatcherIndicesIndex(219), /* kind */ TemplateInfo::Kind::kType, }, { /* [164] */ - /* name */ "W", - /* matcher_indices */ MatcherIndicesIndex(26), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [165] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(13), + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [166] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(13), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(219), /* kind */ TemplateInfo::Kind::kType, }, { /* [167] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(220), + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [168] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [169] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(399), + /* matcher_indices */ MatcherIndicesIndex(479), /* kind */ TemplateInfo::Kind::kType, }, { /* [170] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [171] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(400), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [172] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(481), + /* kind */ TemplateInfo::Kind::kType, }, { /* [173] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(411), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [174] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(223), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [175] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(483), + /* kind */ TemplateInfo::Kind::kType, }, { /* [176] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(415), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [177] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(5), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [178] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(13), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(485), /* kind */ TemplateInfo::Kind::kType, }, { /* [179] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(277), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [180] */ - /* name */ "S", - /* matcher_indices */ MatcherIndicesIndex(13), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [181] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(13), + /* matcher_indices */ MatcherIndicesIndex(487), /* kind */ TemplateInfo::Kind::kType, }, { /* [182] */ - /* name */ "L", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [183] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [184] */ - /* name */ "R", - /* matcher_indices */ MatcherIndicesIndex(17), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(489), + /* kind */ TemplateInfo::Kind::kType, }, { /* [185] */ - /* name */ "F", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [186] */ - /* name */ "W", - /* matcher_indices */ MatcherIndicesIndex(26), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [187] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(402), + /* matcher_indices */ MatcherIndicesIndex(491), /* kind */ TemplateInfo::Kind::kType, }, { /* [188] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(219), /* kind */ TemplateInfo::Kind::kType, }, { /* [189] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(403), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [190] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(385), /* kind */ TemplateInfo::Kind::kType, }, { /* [191] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(404), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [192] */ /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [193] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(405), + /* matcher_indices */ MatcherIndicesIndex(388), /* kind */ TemplateInfo::Kind::kType, }, { /* [194] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [195] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(406), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [196] */ - /* name */ "I", - /* matcher_indices */ MatcherIndicesIndex(397), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(352), /* kind */ TemplateInfo::Kind::kType, }, { /* [197] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(416), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [198] */ - /* name */ "N", - /* matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* kind */ TemplateInfo::Kind::kNumber, + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, }, { /* [199] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(41), + /* matcher_indices */ MatcherIndicesIndex(391), /* kind */ TemplateInfo::Kind::kType, }, { /* [200] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(419), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [201] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(6), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [202] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(420), + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(394), /* kind */ TemplateInfo::Kind::kType, }, { /* [203] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(10), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [204] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(417), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [205] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(17), + /* matcher_indices */ MatcherIndicesIndex(355), /* kind */ TemplateInfo::Kind::kType, }, { /* [206] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(418), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [207] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(109), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [208] */ - /* name */ "U", - /* matcher_indices */ MatcherIndicesIndex(421), + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(445), /* kind */ TemplateInfo::Kind::kType, }, { /* [209] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(12), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [210] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(401), + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), /* kind */ TemplateInfo::Kind::kType, }, { /* [211] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(417), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [212] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(418), + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), /* kind */ TemplateInfo::Kind::kType, }, { /* [213] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(419), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "A", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [214] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(420), + /* matcher_indices */ MatcherIndicesIndex(536), /* kind */ TemplateInfo::Kind::kType, }, { /* [215] */ - /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(421), - /* kind */ TemplateInfo::Kind::kType, + /* name */ "C", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, }, { /* [216] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [217] */ /* name */ "T", - /* matcher_indices */ MatcherIndicesIndex(412), + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [218] */ + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(33), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [219] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(219), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [220] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(219), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [221] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(223), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [222] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [223] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(539), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [224] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [225] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(540), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [226] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [227] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(551), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [228] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(226), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [229] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [230] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(555), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [231] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(403), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [232] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(219), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [233] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(407), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [234] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(219), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [235] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(219), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [236] */ + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [237] */ + /* name */ "K", + /* matcher_indices */ MatcherIndicesIndex(542), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [238] */ + /* name */ "L", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [239] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [240] */ + /* name */ "R", + /* matcher_indices */ MatcherIndicesIndex(501), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [241] */ + /* name */ "F", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [242] */ + /* name */ "W", + /* matcher_indices */ MatcherIndicesIndex(33), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [243] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(543), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [244] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [245] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(544), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [246] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [247] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(545), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [248] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [249] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(546), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [250] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [251] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(547), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [252] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [253] */ + /* name */ "S", + /* matcher_indices */ MatcherIndicesIndex(550), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [254] */ + /* name */ "I", + /* matcher_indices */ MatcherIndicesIndex(537), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [255] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(556), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [256] */ + /* name */ "N", + /* matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* kind */ TemplateInfo::Kind::kNumber, + }, + { + /* [257] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(20), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [258] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(559), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [259] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(27), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [260] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(560), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [261] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(17), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [262] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(557), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [263] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(4), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [264] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(558), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [265] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(213), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [266] */ + /* name */ "U", + /* matcher_indices */ MatcherIndicesIndex(561), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [267] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(405), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [268] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(541), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [269] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(557), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [270] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(558), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [271] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(559), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [272] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(560), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [273] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(561), + /* kind */ TemplateInfo::Kind::kType, + }, + { + /* [274] */ + /* name */ "T", + /* matcher_indices */ MatcherIndicesIndex(552), /* kind */ TemplateInfo::Kind::kType, }, }; @@ -6539,32 +10916,32 @@ constexpr core::constant::Eval::Function kConstEvalFunctions[] = { /* [79] */ &core::constant::Eval::unpack4x8unorm, /* [80] */ &core::constant::Eval::unpack4xI8, /* [81] */ &core::constant::Eval::unpack4xU8, - /* [82] */ &core::constant::Eval::Identity, - /* [83] */ &core::constant::Eval::Not, - /* [84] */ &core::constant::Eval::Complement, - /* [85] */ &core::constant::Eval::UnaryMinus, - /* [86] */ &core::constant::Eval::Plus, - /* [87] */ &core::constant::Eval::Minus, - /* [88] */ &core::constant::Eval::Multiply, - /* [89] */ &core::constant::Eval::MultiplyMatVec, - /* [90] */ &core::constant::Eval::MultiplyVecMat, - /* [91] */ &core::constant::Eval::MultiplyMatMat, - /* [92] */ &core::constant::Eval::Divide, - /* [93] */ &core::constant::Eval::Modulo, - /* [94] */ &core::constant::Eval::Xor, - /* [95] */ &core::constant::Eval::And, - /* [96] */ &core::constant::Eval::Or, - /* [97] */ &core::constant::Eval::LogicalAnd, - /* [98] */ &core::constant::Eval::LogicalOr, - /* [99] */ &core::constant::Eval::Equal, - /* [100] */ &core::constant::Eval::NotEqual, - /* [101] */ &core::constant::Eval::LessThan, - /* [102] */ &core::constant::Eval::GreaterThan, - /* [103] */ &core::constant::Eval::LessThanEqual, - /* [104] */ &core::constant::Eval::GreaterThanEqual, - /* [105] */ &core::constant::Eval::ShiftLeft, - /* [106] */ &core::constant::Eval::ShiftRight, - /* [107] */ &core::constant::Eval::Zero, + /* [82] */ &core::constant::Eval::Not, + /* [83] */ &core::constant::Eval::Complement, + /* [84] */ &core::constant::Eval::UnaryMinus, + /* [85] */ &core::constant::Eval::Plus, + /* [86] */ &core::constant::Eval::Minus, + /* [87] */ &core::constant::Eval::Multiply, + /* [88] */ &core::constant::Eval::MultiplyMatVec, + /* [89] */ &core::constant::Eval::MultiplyVecMat, + /* [90] */ &core::constant::Eval::MultiplyMatMat, + /* [91] */ &core::constant::Eval::Divide, + /* [92] */ &core::constant::Eval::Modulo, + /* [93] */ &core::constant::Eval::Xor, + /* [94] */ &core::constant::Eval::And, + /* [95] */ &core::constant::Eval::Or, + /* [96] */ &core::constant::Eval::LogicalAnd, + /* [97] */ &core::constant::Eval::LogicalOr, + /* [98] */ &core::constant::Eval::Equal, + /* [99] */ &core::constant::Eval::NotEqual, + /* [100] */ &core::constant::Eval::LessThan, + /* [101] */ &core::constant::Eval::GreaterThan, + /* [102] */ &core::constant::Eval::LessThanEqual, + /* [103] */ &core::constant::Eval::GreaterThanEqual, + /* [104] */ &core::constant::Eval::ShiftLeft, + /* [105] */ &core::constant::Eval::ShiftRight, + /* [106] */ &core::constant::Eval::Zero, + /* [107] */ &core::constant::Eval::Identity, /* [108] */ &core::constant::Eval::Conv, /* [109] */ &core::constant::Eval::VecSplat, /* [110] */ &core::constant::Eval::VecInitS, @@ -6579,3412 +10956,3412 @@ static_assert(ConstEvalFunctionIndex::CanIndex(kConstEvalFunctions), constexpr OverloadInfo kOverloads[] = { { /* [0] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(130), - /* parameters */ ParameterIndex(334), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(663), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [1] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(130), - /* parameters */ ParameterIndex(337), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(667), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [2] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(231), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [3] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(130), - /* parameters */ ParameterIndex(340), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(675), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [4] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(133), - /* parameters */ ParameterIndex(343), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(679), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [5] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(131), - /* parameters */ ParameterIndex(346), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [6] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(77), - /* parameters */ ParameterIndex(235), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [7] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(134), - /* parameters */ ParameterIndex(349), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [8] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(63), - /* parameters */ ParameterIndex(388), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [9] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [10] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(84), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(591), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [11] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(88), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(595), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [12] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(599), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [13] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(84), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(603), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [14] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(88), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(607), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [15] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(19), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [16] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(84), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(316), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [17] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(88), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 2, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [18] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(326), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [19] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(84), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(47), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [20] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(88), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(311), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [21] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(80), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(316), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [22] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(84), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 2, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [23] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(88), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(326), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [24] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(331), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [25] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [26] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(156), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [27] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [28] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(168), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [29] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [30] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(611), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [31] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(615), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [32] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(619), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [33] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(623), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [34] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(627), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [35] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(411), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [36] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(416), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [37] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(285), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [38] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(426), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [39] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(334), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(659), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [40] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(181), - /* parameters */ ParameterIndex(368), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(180), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [41] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(75), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(631), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [42] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(181), - /* parameters */ ParameterIndex(370), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [43] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(27), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 2, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(639), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [44] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(181), - /* parameters */ ParameterIndex(372), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(204), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [45] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(340), - /* return_matcher_indices */ MatcherIndicesIndex(33), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [46] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(181), - /* parameters */ ParameterIndex(374), - /* return_matcher_indices */ MatcherIndicesIndex(33), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(583), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [47] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(184), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [48] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(181), - /* parameters */ ParameterIndex(376), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(296), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [49] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(80), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(703), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [50] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(181), - /* parameters */ ParameterIndex(378), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(516), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [51] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(343), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(663), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [52] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(667), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [53] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(380), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [54] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(675), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [55] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(382), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(679), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [56] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* parameters */ ParameterIndex(436), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [57] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(384), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(441), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [58] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(446), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [59] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(386), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(451), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [60] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(349), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* parameters */ ParameterIndex(456), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [61] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(183), - /* parameters */ ParameterIndex(460), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(436), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [62] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(183), - /* parameters */ ParameterIndex(461), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(441), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [63] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(183), - /* parameters */ ParameterIndex(462), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(446), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [64] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(183), - /* parameters */ ParameterIndex(463), - /* return_matcher_indices */ MatcherIndicesIndex(33), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(451), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [65] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(183), - /* parameters */ ParameterIndex(464), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(456), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [66] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(185), - /* parameters */ ParameterIndex(460), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(210), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [67] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(185), - /* parameters */ ParameterIndex(461), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(216), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [68] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(185), - /* parameters */ ParameterIndex(462), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(222), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [69] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(185), - /* parameters */ ParameterIndex(463), - /* return_matcher_indices */ MatcherIndicesIndex(33), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [70] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(185), - /* parameters */ ParameterIndex(464), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(234), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [71] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(295), - /* return_matcher_indices */ MatcherIndicesIndex(72), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(210), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [72] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(339), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(216), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [73] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(222), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [74] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(228), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [75] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(234), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [76] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(461), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [77] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(466), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [78] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(471), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [79] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(476), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [80] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(355), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(481), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [81] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(355), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(461), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [82] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(358), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(466), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [83] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(358), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(471), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [84] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(476), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [85] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(361), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(481), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [86] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(435), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(683), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [87] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(435), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(687), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [88] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(437), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(691), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [89] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(437), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(695), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [90] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(439), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(699), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [91] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(439), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(486), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [92] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(199), - /* parameters */ ParameterIndex(474), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(491), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [93] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(201), - /* parameters */ ParameterIndex(474), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(496), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [94] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(203), - /* parameters */ ParameterIndex(474), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(501), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [95] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(205), - /* parameters */ ParameterIndex(474), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(506), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [96] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(207), - /* parameters */ ParameterIndex(474), - /* return_matcher_indices */ MatcherIndicesIndex(303), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [97] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(101), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [98] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [99] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [100] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(703), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [101] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(516), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [102] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [103] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(235), + /* parameters */ ParameterIndex(869), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [104] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(247), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [105] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(355), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(235), + /* parameters */ ParameterIndex(871), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [106] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(355), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(55), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [107] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(358), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(235), + /* parameters */ ParameterIndex(873), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [108] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(358), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(111), + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(832), + /* return_matcher_indices */ MatcherIndicesIndex(431), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [109] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(199), - /* parameters */ ParameterIndex(473), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(235), + /* parameters */ ParameterIndex(875), + /* return_matcher_indices */ MatcherIndicesIndex(431), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [110] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(201), - /* parameters */ ParameterIndex(473), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(564), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [111] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(203), - /* parameters */ ParameterIndex(473), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(235), + /* parameters */ ParameterIndex(877), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [112] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(205), - /* parameters */ ParameterIndex(473), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(272), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [113] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(207), - /* parameters */ ParameterIndex(473), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(235), + /* parameters */ ParameterIndex(879), + /* return_matcher_indices */ MatcherIndicesIndex(3), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [114] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(207), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [115] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(881), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [116] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(195), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [117] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(883), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [118] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(99), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [119] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(50), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(885), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [120] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(199), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(431), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [121] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(119), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(887), + /* return_matcher_indices */ MatcherIndicesIndex(431), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [122] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(56), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [123] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 2, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(889), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [124] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(187), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [125] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 2, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(891), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [126] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(84), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(844), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [127] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(215), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [128] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(144), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(893), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [129] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(207), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [130] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(124), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(895), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [131] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(124), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [132] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(62), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(897), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [133] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(62), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [134] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(129), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(21), + /* parameters */ ParameterIndex(899), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [135] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(129), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* parameters */ ParameterIndex(850), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [136] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(211), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(239), + /* parameters */ ParameterIndex(979), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [137] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(134), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 2, + /* templates */ TemplateIndex(239), + /* parameters */ ParameterIndex(980), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [138] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 2, + /* templates */ TemplateIndex(239), + /* parameters */ ParameterIndex(981), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [139] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 2, + /* templates */ TemplateIndex(239), + /* parameters */ ParameterIndex(982), + /* return_matcher_indices */ MatcherIndicesIndex(431), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [140] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* templates */ TemplateIndex(241), + /* parameters */ ParameterIndex(979), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [141] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* templates */ TemplateIndex(241), + /* parameters */ ParameterIndex(980), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [142] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(67), - /* parameters */ ParameterIndex(215), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_templates */ 2, + /* templates */ TemplateIndex(241), + /* parameters */ ParameterIndex(981), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [143] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(144), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* templates */ TemplateIndex(241), + /* parameters */ ParameterIndex(982), + /* return_matcher_indices */ MatcherIndicesIndex(431), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [144] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(63), - /* parameters */ ParameterIndex(298), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(239), + /* parameters */ ParameterIndex(983), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [145] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(63), - /* parameters */ ParameterIndex(301), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(241), + /* parameters */ ParameterIndex(983), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [146] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(63), - /* parameters */ ParameterIndex(219), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(787), + /* return_matcher_indices */ MatcherIndicesIndex(3), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [147] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(63), - /* parameters */ ParameterIndex(304), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(163), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [148] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(92), - /* parameters */ ParameterIndex(307), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(163), + /* parameters */ ParameterIndex(829), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [149] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(310), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 4, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(719), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [150] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(313), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(163), + /* parameters */ ParameterIndex(832), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [151] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 4, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(223), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(96), + /* parameters */ ParameterIndex(835), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [152] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(68), - /* parameters */ ParameterIndex(316), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 4, + /* templates */ TemplateIndex(96), + /* parameters */ ParameterIndex(838), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [153] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(96), - /* parameters */ ParameterIndex(319), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 5, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(723), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [154] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(72), - /* parameters */ ParameterIndex(322), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 4, + /* templates */ TemplateIndex(96), + /* parameters */ ParameterIndex(841), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [155] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(72), - /* parameters */ ParameterIndex(325), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(166), + /* parameters */ ParameterIndex(844), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [156] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(72), - /* parameters */ ParameterIndex(227), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(97), + /* parameters */ ParameterIndex(847), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [157] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(72), - /* parameters */ ParameterIndex(328), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(19), + /* parameters */ ParameterIndex(727), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [158] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(100), - /* parameters */ ParameterIndex(331), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 2, + /* templates */ TemplateIndex(155), + /* parameters */ ParameterIndex(850), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [159] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(337), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* num_templates */ 1, + /* templates */ TemplateIndex(19), + /* parameters */ ParameterIndex(901), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [160] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [161] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(421), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [162] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 3, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(423), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [163] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [164] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(109), + /* num_templates */ 3, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(421), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [165] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(423), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [166] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(263), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(110), + /* num_templates */ 4, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [167] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(199), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(421), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [168] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(201), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(423), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [169] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(203), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [170] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(205), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(421), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [171] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(207), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(317), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(423), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [172] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(74), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 3, + /* templates */ TemplateIndex(100), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [173] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(74), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 3, + /* templates */ TemplateIndex(104), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(421), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [174] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(26), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* templates */ TemplateIndex(108), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(423), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [175] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(26), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [176] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(183), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* num_templates */ 3, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(421), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [177] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(79), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(423), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [178] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(139), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 3, + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [179] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(187), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 3, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(421), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [180] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(68), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 3, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(423), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [181] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(84), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 4, + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [182] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(215), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 4, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(421), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [183] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(144), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 4, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(423), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [184] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(136), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [185] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(139), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(421), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [186] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(142), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(423), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [187] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [188] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(148), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(421), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [189] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(151), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(423), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [190] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(154), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(336), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [191] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(187), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(341), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [192] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(189), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(346), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [193] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(191), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(351), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [194] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(193), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(356), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [195] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(195), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(336), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [196] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(136), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(341), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [197] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(139), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(346), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [198] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(142), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(351), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [199] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(145), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(356), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [200] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(148), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(90), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [201] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(151), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(96), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [202] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(154), - /* parameters */ ParameterIndex(468), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(102), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [203] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(187), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(108), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [204] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(189), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(114), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [205] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(191), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(90), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [206] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(193), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(96), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [207] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(195), - /* parameters */ ParameterIndex(469), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(102), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [208] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(165), - /* parameters */ ParameterIndex(287), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(108), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [209] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(442), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(114), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [210] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(122), - /* parameters */ ParameterIndex(443), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(361), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [211] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(167), - /* parameters */ ParameterIndex(444), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(366), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [212] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(205), - /* parameters */ ParameterIndex(445), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(371), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [213] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(174), - /* parameters */ ParameterIndex(446), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(376), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [214] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(447), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(381), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [215] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(209), - /* parameters */ ParameterIndex(448), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(361), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [216] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(177), - /* parameters */ ParameterIndex(287), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(366), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [217] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 2, - /* templates */ TemplateIndex(179), - /* parameters */ ParameterIndex(449), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(10), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(371), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [218] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(334), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(376), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [219] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(75), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(381), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [220] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(27), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(643), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [221] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(340), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(647), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [222] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(184), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(651), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [223] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(80), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(655), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [224] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* parameters */ ParameterIndex(659), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [225] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(386), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [226] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(391), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [227] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(396), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [228] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(88), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(401), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [229] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(88), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(406), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [230] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(422), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(88), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [231] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(88), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [232] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(127), - /* parameters */ ParameterIndex(428), - /* return_matcher_indices */ MatcherIndicesIndex(189), - /* const_eval_fn */ ConstEvalFunctionIndex(88), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [233] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(127), - /* parameters */ ParameterIndex(427), - /* return_matcher_indices */ MatcherIndicesIndex(189), - /* const_eval_fn */ ConstEvalFunctionIndex(88), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [234] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(160), - /* parameters */ ParameterIndex(429), - /* return_matcher_indices */ MatcherIndicesIndex(271), - /* const_eval_fn */ ConstEvalFunctionIndex(89), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [235] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(160), - /* parameters */ ParameterIndex(431), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(90), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [236] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(118), - /* parameters */ ParameterIndex(433), - /* return_matcher_indices */ MatcherIndicesIndex(193), - /* const_eval_fn */ ConstEvalFunctionIndex(91), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [237] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [238] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(475), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [239] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(475), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [240] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(19), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [241] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(26), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [242] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(33), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [243] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(40), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [244] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(476), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(47), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [245] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(477), - /* return_matcher_indices */ MatcherIndicesIndex(343), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(19), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [246] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(26), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [247] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(478), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(33), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [248] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(478), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(40), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [249] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 7, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(47), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [250] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [251] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(156), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [252] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [253] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(479), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(168), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [254] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(480), - /* return_matcher_indices */ MatcherIndicesIndex(349), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [255] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(150), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [256] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(481), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(156), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [257] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(481), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [258] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 8, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(168), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [259] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 8, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(174), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [260] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(411), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [261] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(416), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [262] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(482), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [263] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(483), - /* return_matcher_indices */ MatcherIndicesIndex(166), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(426), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [264] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(431), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [265] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(484), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(180), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [266] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(484), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(186), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [267] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 6, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(25), + /* parameters */ ParameterIndex(192), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [268] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 2, + /* templates */ TemplateIndex(23), + /* parameters */ ParameterIndex(198), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [269] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(204), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [270] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* num_templates */ 2, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(246), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [271] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(485), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(251), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [272] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(486), - /* return_matcher_indices */ MatcherIndicesIndex(359), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(153), + /* parameters */ ParameterIndex(555), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [273] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(157), + /* parameters */ ParameterIndex(559), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [274] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [275] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(487), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 2, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(246), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [276] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 9, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(251), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [277] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 9, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 3, + /* templates */ TemplateIndex(160), + /* parameters */ ParameterIndex(256), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [278] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(261), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [279] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* num_templates */ 2, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(266), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [280] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(488), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(54), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [281] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(489), - /* return_matcher_indices */ MatcherIndicesIndex(365), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(60), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [282] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(66), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [283] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(490), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(72), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [284] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(490), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 3, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(78), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [285] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 12, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(54), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [286] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 12, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 4, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(60), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [287] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(66), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [288] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* num_templates */ 4, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(72), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [289] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(491), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(78), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [290] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(492), - /* return_matcher_indices */ MatcherIndicesIndex(371), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(563), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [291] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(150), + /* parameters */ ParameterIndex(567), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [292] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(493), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(153), + /* parameters */ ParameterIndex(571), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [293] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(493), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 3, + /* templates */ TemplateIndex(157), + /* parameters */ ParameterIndex(575), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [294] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 8, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(579), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [295] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 8, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 3, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(271), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [296] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(276), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [297] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(267), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* num_templates */ 4, + /* templates */ TemplateIndex(76), + /* parameters */ ParameterIndex(281), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [298] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(494), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(72), + /* parameters */ ParameterIndex(286), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [299] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(495), - /* return_matcher_indices */ MatcherIndicesIndex(377), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(291), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [300] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(511), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [301] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(496), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(583), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [302] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(496), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(240), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [303] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 12, - /* num_explicit_templates */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(296), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [304] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 12, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(703), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [305] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 4, - /* num_explicit_templates */ 1, + /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(516), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [306] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 0, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(497), + /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { /* [307] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(497), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(108), - }, - { - /* [308] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 1, - /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(498), - /* return_matcher_indices */ MatcherIndicesIndex(383), - /* const_eval_fn */ ConstEvalFunctionIndex(108), - }, - { - /* [309] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(216), + /* templates */ TemplateIndex(230), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(389), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [308] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [309] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { @@ -9993,10 +14370,10 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(216), - /* parameters */ ParameterIndex(499), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(109), }, { /* [311] */ @@ -10004,933 +14381,933 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(499), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(109), }, { /* [312] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 16, + /* num_parameters */ 4, /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(110), }, { /* [313] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 16, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(112), + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(110), }, { /* [314] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* num_parameters */ 3, /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(856), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [315] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, + /* num_parameters */ 3, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(275), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(113), + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(859), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [316] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(19), - /* parameters */ ParameterIndex(500), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(862), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [317] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(27), - /* parameters */ ParameterIndex(501), - /* return_matcher_indices */ MatcherIndicesIndex(389), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(954), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [318] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(104), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(956), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [319] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(104), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(958), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [320] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(38), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(856), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [321] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(38), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(859), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [322] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(109), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(862), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [323] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(109), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(954), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [324] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(203), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(956), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [325] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(114), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(958), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [326] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(257), + /* parameters */ ParameterIndex(993), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [327] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(259), + /* parameters */ ParameterIndex(993), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [328] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(261), + /* parameters */ ParameterIndex(993), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [329] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 7, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(19), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(263), + /* parameters */ ParameterIndex(993), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [330] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(50), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(265), + /* parameters */ ParameterIndex(993), + /* return_matcher_indices */ MatcherIndicesIndex(441), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [331] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(50), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(169), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [332] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(119), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(172), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [333] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(56), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(175), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [334] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(104), - /* parameters */ ParameterIndex(414), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 3, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [335] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(104), - /* parameters */ ParameterIndex(416), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 3, + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [336] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(110), - /* parameters */ ParameterIndex(414), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 3, + /* templates */ TemplateIndex(184), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [337] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 4, - /* templates */ TemplateIndex(110), - /* parameters */ ParameterIndex(416), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 3, + /* templates */ TemplateIndex(187), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [338] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(104), - /* parameters */ ParameterIndex(418), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 2, + /* templates */ TemplateIndex(243), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [339] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(104), - /* parameters */ ParameterIndex(420), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 2, + /* templates */ TemplateIndex(245), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [340] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(110), - /* parameters */ ParameterIndex(418), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 2, + /* templates */ TemplateIndex(247), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [341] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 3, - /* templates */ TemplateIndex(110), - /* parameters */ ParameterIndex(420), - /* return_matcher_indices */ MatcherIndicesIndex(169), + /* num_templates */ 2, + /* templates */ TemplateIndex(249), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [342] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(251), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [343] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(253), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [344] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(190), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [345] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(193), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [346] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(196), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [347] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(199), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [348] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(27), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(202), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [349] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(80), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(205), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [350] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(208), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [351] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(169), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [352] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(183), - /* parameters */ ParameterIndex(462), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(172), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [353] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(185), - /* parameters */ ParameterIndex(462), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(175), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [354] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(178), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [355] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(181), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [356] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(184), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [357] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(187), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [358] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(243), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [359] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(245), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [360] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(247), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [361] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(89), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(249), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [362] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(251), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [363] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 6, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(32), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(253), + /* parameters */ ParameterIndex(988), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [364] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(191), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(190), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [365] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(66), - /* parameters */ ParameterIndex(94), - /* return_matcher_indices */ MatcherIndicesIndex(41), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(193), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [366] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(239), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 3, + /* templates */ TemplateIndex(196), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [367] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 6, - /* templates */ TemplateIndex(0), - /* parameters */ ParameterIndex(243), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 3, + /* templates */ TemplateIndex(199), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [368] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(6), - /* parameters */ ParameterIndex(247), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 3, + /* templates */ TemplateIndex(202), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [369] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(251), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 3, + /* templates */ TemplateIndex(205), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [370] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 1, - /* num_templates */ 6, - /* templates */ TemplateIndex(6), - /* parameters */ ParameterIndex(255), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 3, + /* templates */ TemplateIndex(208), + /* parameters */ ParameterIndex(987), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [371] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 1, - /* num_templates */ 6, - /* templates */ TemplateIndex(12), - /* parameters */ ParameterIndex(259), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(495), + /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { /* [372] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(149), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { /* [373] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(1), - /* parameters */ ParameterIndex(154), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [374] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(159), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [375] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(13), - /* parameters */ ParameterIndex(164), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(109), }, { /* [376] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(7), - /* parameters */ ParameterIndex(169), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(109), }, { /* [377] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 5, - /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(13), - /* parameters */ ParameterIndex(174), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(110), }, { /* [378] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(110), }, { /* [379] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(856), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [380] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(422), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(86), + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(859), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(111), }, { /* [381] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(86), - }, - { - /* [382] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(127), - /* parameters */ ParameterIndex(426), - /* return_matcher_indices */ MatcherIndicesIndex(189), - /* const_eval_fn */ ConstEvalFunctionIndex(86), - }, - { - /* [383] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(87), + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(856), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [382] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(859), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(111), + }, + { + /* [383] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(257), + /* parameters */ ParameterIndex(992), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [384] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(87), + /* templates */ TemplateIndex(259), + /* parameters */ ParameterIndex(992), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [385] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(422), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(87), + /* templates */ TemplateIndex(261), + /* parameters */ ParameterIndex(992), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [386] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(87), + /* templates */ TemplateIndex(263), + /* parameters */ ParameterIndex(992), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [387] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(127), - /* parameters */ ParameterIndex(426), - /* return_matcher_indices */ MatcherIndicesIndex(189), - /* const_eval_fn */ ConstEvalFunctionIndex(87), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(265), + /* parameters */ ParameterIndex(992), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [388] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(18), - /* parameters */ ParameterIndex(406), - /* return_matcher_indices */ MatcherIndicesIndex(103), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(826), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [389] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(26), - /* parameters */ ParameterIndex(406), - /* return_matcher_indices */ MatcherIndicesIndex(103), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(247), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [390] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(33), - /* parameters */ ParameterIndex(406), - /* return_matcher_indices */ MatcherIndicesIndex(103), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(55), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [391] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 1, - /* num_templates */ 5, - /* templates */ TemplateIndex(38), - /* parameters */ ParameterIndex(406), - /* return_matcher_indices */ MatcherIndicesIndex(103), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(832), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [392] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(43), - /* parameters */ ParameterIndex(352), - /* return_matcher_indices */ MatcherIndicesIndex(118), + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(564), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [393] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(48), - /* parameters */ ParameterIndex(352), - /* return_matcher_indices */ MatcherIndicesIndex(118), + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(272), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [394] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(53), - /* parameters */ ParameterIndex(352), - /* return_matcher_indices */ MatcherIndicesIndex(118), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(671), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [395] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 5, - /* templates */ TemplateIndex(58), - /* parameters */ ParameterIndex(352), - /* return_matcher_indices */ MatcherIndicesIndex(118), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10938,10 +15315,10 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(105), - /* parameters */ ParameterIndex(466), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10949,10 +15326,10 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(111), - /* parameters */ ParameterIndex(466), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(162), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10960,10 +15337,10 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(105), - /* parameters */ ParameterIndex(467), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(421), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { @@ -10971,1463 +15348,1463 @@ constexpr OverloadInfo kOverloads[] = { /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(111), - /* parameters */ ParameterIndex(467), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(237), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(4), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [400] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(92), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [401] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(92), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [402] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(422), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(92), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [403] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(92), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [404] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* num_templates */ 3, + /* templates */ TemplateIndex(80), + /* parameters */ ParameterIndex(790), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [405] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* num_templates */ 3, + /* templates */ TemplateIndex(80), + /* parameters */ ParameterIndex(793), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [406] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(422), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* num_templates */ 4, + /* templates */ TemplateIndex(80), + /* parameters */ ParameterIndex(707), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [407] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(423), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(93), + /* num_templates */ 3, + /* templates */ TemplateIndex(80), + /* parameters */ ParameterIndex(796), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [408] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(95), + /* num_templates */ 3, + /* templates */ TemplateIndex(112), + /* parameters */ ParameterIndex(799), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [409] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(208), - /* const_eval_fn */ ConstEvalFunctionIndex(95), + /* num_templates */ 3, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(802), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [410] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(95), + /* num_templates */ 3, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(805), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [411] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(95), + /* num_templates */ 4, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(711), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [412] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(96), + /* num_templates */ 3, + /* templates */ TemplateIndex(84), + /* parameters */ ParameterIndex(808), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [413] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(208), - /* const_eval_fn */ ConstEvalFunctionIndex(96), + /* num_templates */ 3, + /* templates */ TemplateIndex(116), + /* parameters */ ParameterIndex(811), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [414] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(96), + /* num_templates */ 3, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(814), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [415] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(96), + /* num_templates */ 3, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(817), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [416] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(43), + /* num_templates */ 4, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(715), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [417] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(43), + /* num_templates */ 3, + /* templates */ TemplateIndex(88), + /* parameters */ ParameterIndex(820), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [418] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(285), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(43), + /* num_templates */ 3, + /* templates */ TemplateIndex(120), + /* parameters */ ParameterIndex(823), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [419] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(288), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(63), - }, - { - /* [420] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(280), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(63), - }, - { - /* [421] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(168), - /* parameters */ ParameterIndex(291), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(64), - }, - { - /* [422] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 4, - /* templates */ TemplateIndex(22), - /* parameters */ ParameterIndex(408), - /* return_matcher_indices */ MatcherIndicesIndex(86), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [423] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(30), - /* parameters */ ParameterIndex(410), - /* return_matcher_indices */ MatcherIndicesIndex(133), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [424] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(30), - /* parameters */ ParameterIndex(412), - /* return_matcher_indices */ MatcherIndicesIndex(138), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [425] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(10), + /* return_matcher_indices */ MatcherIndicesIndex(493), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [420] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [421] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(471), /* const_eval_fn */ ConstEvalFunctionIndex(107), }, + { + /* [422] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [423] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(109), + }, + { + /* [424] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(109), + }, + { + /* [425] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(110), + }, { /* [426] */ /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(472), - /* return_matcher_indices */ MatcherIndicesIndex(10), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(755), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(110), }, { /* [427] */ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(211), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(10), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(257), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(471), /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [428] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(259), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [429] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(261), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [430] */ /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(212), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(263), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(471), /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [431] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(41), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(265), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(471), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [432] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(41), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(961), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [433] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(213), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(41), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* templates */ TemplateIndex(263), + /* parameters */ ParameterIndex(962), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [434] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(/* invalid */), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(963), /* return_matcher_indices */ MatcherIndicesIndex(6), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [435] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(442), + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(267), + /* parameters */ ParameterIndex(964), /* return_matcher_indices */ MatcherIndicesIndex(6), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [436] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(214), - /* parameters */ ParameterIndex(1), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(219), + /* parameters */ ParameterIndex(779), /* return_matcher_indices */ MatcherIndicesIndex(6), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [437] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 0, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(107), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(142), + /* parameters */ ParameterIndex(965), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [438] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(82), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(221), + /* parameters */ ParameterIndex(966), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [439] */ - /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(215), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(108), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(228), + /* parameters */ ParameterIndex(967), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [440] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(0), + /* num_explicit_templates */ 1, + /* num_templates */ 2, + /* templates */ TemplateIndex(231), + /* parameters */ ParameterIndex(779), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [441] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 2, - /* templates */ TemplateIndex(113), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(0), + /* templates */ TemplateIndex(233), + /* parameters */ ParameterIndex(968), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(10), }, { /* [442] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), + /* templates */ TemplateIndex(134), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(87), }, { /* [443] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(1), + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(87), }, { /* [444] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(2), + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(941), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(87), }, { /* [445] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(2), + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(942), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(87), }, { /* [446] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(3), - }, - { - /* [447] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(3), - }, - { - /* [448] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(4), - }, - { - /* [449] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(4), - }, - { - /* [450] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(104), - /* parameters */ ParameterIndex(441), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [451] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(163), - /* parameters */ ParameterIndex(441), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [452] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(5), - }, - { - /* [453] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(5), - }, - { - /* [454] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(6), - }, - { - /* [455] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(6), - }, - { - /* [456] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(7), - }, - { - /* [457] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(7), - }, - { - /* [458] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(8), - }, - { - /* [459] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(127), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(8), - }, - { - /* [460] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(9), - }, - { - /* [461] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(9), - }, - { - /* [462] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(11), - }, - { - /* [463] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(11), - }, - { - /* [464] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(12), - }, - { - /* [465] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(12), - }, - { - /* [466] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(13), - }, - { - /* [467] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(13), - }, - { - /* [468] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(14), - }, - { - /* [469] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(14), - }, - { - /* [470] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(15), - }, - { - /* [471] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(15), - }, - { - /* [472] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(16), - }, - { - /* [473] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(16), - }, - { - /* [474] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(17), - }, - { - /* [475] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(17), - }, - { - /* [476] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(19), - }, - { - /* [477] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(19), - }, - { - /* [478] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(21), - }, - { - /* [479] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(20), - /* const_eval_fn */ ConstEvalFunctionIndex(21), - }, - { - /* [480] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(41), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [481] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(229), - /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), - }, - { - /* [482] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(25), - }, - { - /* [483] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(25), - }, - { - /* [484] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(26), - }, - { - /* [485] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(26), - }, - { - /* [486] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(16), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(27), - }, - { - /* [487] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(180), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(27), - }, - { - /* [488] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(29), - }, - { - /* [489] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(29), - }, - { - /* [490] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(30), - }, - { - /* [491] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(30), - }, - { - /* [492] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(31), - }, - { - /* [493] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(31), - }, - { - /* [494] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(32), - }, - { - /* [495] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(32), - }, - { - /* [496] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(33), - }, - { - /* [497] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(33), - }, - { - /* [498] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(279), - /* const_eval_fn */ ConstEvalFunctionIndex(34), - }, - { - /* [499] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(232), - /* const_eval_fn */ ConstEvalFunctionIndex(34), - }, - { - /* [500] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(15), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(35), - }, - { - /* [501] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 4, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(35), - }, - { - /* [502] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(36), - }, - { - /* [503] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(36), - }, - { - /* [504] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(364), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(37), - }, - { - /* [505] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(366), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(37), + /* templates */ TemplateIndex(147), + /* parameters */ ParameterIndex(947), + /* return_matcher_indices */ MatcherIndicesIndex(192), + /* const_eval_fn */ ConstEvalFunctionIndex(87), + }, + { + /* [447] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(147), + /* parameters */ ParameterIndex(946), + /* return_matcher_indices */ MatcherIndicesIndex(192), + /* const_eval_fn */ ConstEvalFunctionIndex(87), + }, + { + /* [448] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(214), + /* parameters */ ParameterIndex(948), + /* return_matcher_indices */ MatcherIndicesIndex(397), + /* const_eval_fn */ ConstEvalFunctionIndex(88), + }, + { + /* [449] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(214), + /* parameters */ ParameterIndex(950), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(89), + }, + { + /* [450] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(138), + /* parameters */ ParameterIndex(952), + /* return_matcher_indices */ MatcherIndicesIndex(196), + /* const_eval_fn */ ConstEvalFunctionIndex(90), + }, + { + /* [451] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [452] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(994), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [453] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(994), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [454] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [455] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [456] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [457] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [458] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(995), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [459] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(996), + /* return_matcher_indices */ MatcherIndicesIndex(501), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [460] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [461] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(997), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [462] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(997), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [463] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [464] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [465] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [466] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [467] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(998), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [468] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(999), + /* return_matcher_indices */ MatcherIndicesIndex(507), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [469] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [470] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(1000), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [471] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1000), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [472] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 8, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [473] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 8, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [474] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [475] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [476] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1001), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [477] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1002), + /* return_matcher_indices */ MatcherIndicesIndex(5), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [478] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [479] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(1003), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [480] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1003), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [481] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [482] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [483] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [484] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [485] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1004), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [486] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1005), + /* return_matcher_indices */ MatcherIndicesIndex(12), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [487] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [488] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(1006), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [489] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1006), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [490] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 9, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [491] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 9, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [492] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [493] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [494] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1007), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [495] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1008), + /* return_matcher_indices */ MatcherIndicesIndex(33), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [496] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [497] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(1009), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [498] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1009), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [499] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 12, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [500] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 12, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(112), + }, + { + /* [501] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [502] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(113), + }, + { + /* [503] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1010), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [504] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1011), + /* return_matcher_indices */ MatcherIndicesIndex(513), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [505] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { /* [506] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(38), + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(1012), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [507] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(20), - /* const_eval_fn */ ConstEvalFunctionIndex(38), + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1012), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [508] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 8, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), + /* templates */ TemplateIndex(128), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(39), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(112), }, { /* [509] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 8, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(39), + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(112), }, { /* [510] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(40), + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(113), }, { /* [511] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(40), + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(759), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(113), }, { /* [512] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(41), + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1013), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [513] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(113), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(41), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1014), + /* return_matcher_indices */ MatcherIndicesIndex(519), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [514] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(42), + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { /* [515] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(113), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(42), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(1015), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [516] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(281), - /* const_eval_fn */ ConstEvalFunctionIndex(44), + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1015), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [517] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(238), - /* const_eval_fn */ ConstEvalFunctionIndex(44), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 12, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(112), }, { /* [518] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 12, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), + /* templates */ TemplateIndex(128), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(55), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(112), }, { /* [519] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(55), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(113), }, { /* [520] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(451), - /* return_matcher_indices */ MatcherIndicesIndex(41), - /* const_eval_fn */ ConstEvalFunctionIndex(56), + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(113), }, { /* [521] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(452), - /* return_matcher_indices */ MatcherIndicesIndex(229), - /* const_eval_fn */ ConstEvalFunctionIndex(56), + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1016), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [522] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(57), + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1017), + /* return_matcher_indices */ MatcherIndicesIndex(525), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [523] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(57), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(106), }, { /* [524] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(60), + /* templates */ TemplateIndex(274), + /* parameters */ ParameterIndex(1018), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [525] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(60), + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1018), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(107), }, { /* [526] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 16, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), + /* templates */ TemplateIndex(128), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(61), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(112), }, { /* [527] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 16, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(61), + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(112), }, { /* [528] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(62), + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(113), }, { /* [529] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(127), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(62), + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(767), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(113), }, { /* [530] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, + /* num_explicit_templates */ 1, /* num_templates */ 1, - /* templates */ TemplateIndex(171), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(65), + /* templates */ TemplateIndex(28), + /* parameters */ ParameterIndex(1019), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [531] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(170), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(65), + /* num_explicit_templates */ 1, + /* num_templates */ 1, + /* templates */ TemplateIndex(18), + /* parameters */ ParameterIndex(1020), + /* return_matcher_indices */ MatcherIndicesIndex(169), + /* const_eval_fn */ ConstEvalFunctionIndex(108), }, { /* [532] */ @@ -12435,21 +16812,21 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(66), + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(55), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [533] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(66), + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(272), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [534] */ @@ -12457,549 +16834,549 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(67), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [535] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(67), + /* num_templates */ 1, + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(635), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [536] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(68), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [537] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(68), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [538] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(69), + /* num_templates */ 2, + /* templates */ TemplateIndex(239), + /* parameters */ ParameterIndex(981), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [539] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(69), + /* templates */ TemplateIndex(241), + /* parameters */ ParameterIndex(981), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [540] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(70), + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(933), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [541] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(70), + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(935), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [542] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(71), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(130), + /* parameters */ ParameterIndex(933), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [543] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(71), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 4, + /* templates */ TemplateIndex(130), + /* parameters */ ParameterIndex(935), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [544] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(72), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(937), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [545] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(72), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(939), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [546] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(74), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(130), + /* parameters */ ParameterIndex(937), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [547] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(74), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 3, + /* templates */ TemplateIndex(130), + /* parameters */ ParameterIndex(939), + /* return_matcher_indices */ MatcherIndicesIndex(172), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [548] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(210), - /* parameters */ ParameterIndex(458), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [549] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(459), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [550] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(343), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [551] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(349), - /* return_matcher_indices */ MatcherIndicesIndex(17), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [552] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* num_parameters */ 4, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(44), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [553] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 3, + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(295), - /* return_matcher_indices */ MatcherIndicesIndex(283), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [554] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(390), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [555] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(172), - /* parameters */ ParameterIndex(392), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [556] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(390), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [557] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(172), - /* parameters */ ParameterIndex(392), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [558] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(394), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [559] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(172), - /* parameters */ ParameterIndex(396), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [560] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(398), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [561] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(172), - /* parameters */ ParameterIndex(400), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(301), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [562] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(39), - /* parameters */ ParameterIndex(390), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [563] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 6, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(115), - /* parameters */ ParameterIndex(392), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(84), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [564] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(402), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(587), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [565] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(172), - /* parameters */ ParameterIndex(404), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* num_templates */ 1, + /* templates */ TemplateIndex(20), + /* parameters */ ParameterIndex(306), + /* return_matcher_indices */ MatcherIndicesIndex(20), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [566] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(23), - /* parameters */ ParameterIndex(402), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(120), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [567] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(172), - /* parameters */ ParameterIndex(404), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(126), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [568] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(176), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* templates */ TemplateIndex(22), + /* parameters */ ParameterIndex(132), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [569] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(175), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* num_templates */ 1, + /* templates */ TemplateIndex(24), + /* parameters */ ParameterIndex(138), + /* return_matcher_indices */ MatcherIndicesIndex(419), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [570] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(83), + /* parameters */ ParameterIndex(144), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [571] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(293), - /* return_matcher_indices */ MatcherIndicesIndex(208), - /* const_eval_fn */ ConstEvalFunctionIndex(83), + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(787), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [572] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(84), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(0), + /* parameters */ ParameterIndex(731), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [573] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(84), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 6, + /* templates */ TemplateIndex(0), + /* parameters */ ParameterIndex(735), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [574] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(171), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(85), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(6), + /* parameters */ ParameterIndex(739), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [575] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(171), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(85), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(12), + /* parameters */ ParameterIndex(743), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [576] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(94), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 6, + /* templates */ TemplateIndex(6), + /* parameters */ ParameterIndex(747), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [577] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(94), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 1, + /* num_templates */ 6, + /* templates */ TemplateIndex(12), + /* parameters */ ParameterIndex(751), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [578] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(99), + /* num_templates */ 4, + /* templates */ TemplateIndex(1), + /* parameters */ ParameterIndex(521), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [579] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(274), - /* const_eval_fn */ ConstEvalFunctionIndex(99), + /* num_templates */ 5, + /* templates */ TemplateIndex(1), + /* parameters */ ParameterIndex(526), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [580] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(100), + /* num_templates */ 4, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(531), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [581] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(169), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(274), - /* const_eval_fn */ ConstEvalFunctionIndex(100), + /* num_templates */ 4, + /* templates */ TemplateIndex(13), + /* parameters */ ParameterIndex(536), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [582] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(101), + /* num_templates */ 5, + /* templates */ TemplateIndex(7), + /* parameters */ ParameterIndex(541), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [583] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 5, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(274), - /* const_eval_fn */ ConstEvalFunctionIndex(101), + /* num_templates */ 5, + /* templates */ TemplateIndex(13), + /* parameters */ ParameterIndex(546), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [584] */ @@ -13007,10 +17384,10 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(114), + /* templates */ TemplateIndex(134), /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(102), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(85), }, { /* [585] */ @@ -13018,21 +17395,21 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(274), - /* const_eval_fn */ ConstEvalFunctionIndex(102), + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(85), }, { /* [586] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(103), + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(941), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(85), }, { /* [587] */ @@ -13040,43 +17417,43 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(274), - /* const_eval_fn */ ConstEvalFunctionIndex(103), + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(942), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(85), }, { /* [588] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(104), + /* num_templates */ 3, + /* templates */ TemplateIndex(147), + /* parameters */ ParameterIndex(945), + /* return_matcher_indices */ MatcherIndicesIndex(192), + /* const_eval_fn */ ConstEvalFunctionIndex(85), }, { /* [589] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(114), - /* parameters */ ParameterIndex(279), - /* return_matcher_indices */ MatcherIndicesIndex(274), - /* const_eval_fn */ ConstEvalFunctionIndex(104), + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(86), }, { /* [590] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(16), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(86), }, { /* [591] */ @@ -13084,233 +17461,2587 @@ constexpr OverloadInfo kOverloads[] = { /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(424), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(105), + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(941), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(86), }, { /* [592] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(16), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(942), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(86), }, { /* [593] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(197), - /* parameters */ ParameterIndex(424), - /* return_matcher_indices */ MatcherIndicesIndex(211), - /* const_eval_fn */ ConstEvalFunctionIndex(106), + /* num_templates */ 3, + /* templates */ TemplateIndex(147), + /* parameters */ ParameterIndex(945), + /* return_matcher_indices */ MatcherIndicesIndex(192), + /* const_eval_fn */ ConstEvalFunctionIndex(86), }, { /* [594] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(108), - /* parameters */ ParameterIndex(271), - /* return_matcher_indices */ MatcherIndicesIndex(26), - /* const_eval_fn */ ConstEvalFunctionIndex(18), + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(27), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(106), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [595] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(450), - /* return_matcher_indices */ MatcherIndicesIndex(20), - /* const_eval_fn */ ConstEvalFunctionIndex(20), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(35), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(106), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [596] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(113), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(20), - /* const_eval_fn */ ConstEvalFunctionIndex(22), + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(42), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(106), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [597] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(10), - /* const_eval_fn */ ConstEvalFunctionIndex(23), + /* num_explicit_templates */ 1, + /* num_templates */ 5, + /* templates */ TemplateIndex(47), + /* parameters */ ParameterIndex(925), + /* return_matcher_indices */ MatcherIndicesIndex(106), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [598] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(24), + /* num_templates */ 5, + /* templates */ TemplateIndex(52), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(121), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [599] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(284), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(28), + /* num_templates */ 5, + /* templates */ TemplateIndex(57), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(121), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [600] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(45), + /* num_templates */ 5, + /* templates */ TemplateIndex(62), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(121), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [601] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(453), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(46), + /* num_templates */ 5, + /* templates */ TemplateIndex(67), + /* parameters */ ParameterIndex(853), + /* return_matcher_indices */ MatcherIndicesIndex(121), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [602] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(453), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(47), + /* num_templates */ 3, + /* templates */ TemplateIndex(125), + /* parameters */ ParameterIndex(985), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [603] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(453), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(48), + /* num_templates */ 3, + /* templates */ TemplateIndex(131), + /* parameters */ ParameterIndex(985), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [604] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(454), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(49), + /* num_templates */ 2, + /* templates */ TemplateIndex(125), + /* parameters */ ParameterIndex(986), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [605] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(454), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(50), + /* num_templates */ 2, + /* templates */ TemplateIndex(131), + /* parameters */ ParameterIndex(986), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { /* [606] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(455), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(51), + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(91), }, { /* [607] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(456), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(52), - }, - { - /* [608] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(455), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(53), - }, - { - /* [609] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(456), - /* return_matcher_indices */ MatcherIndicesIndex(17), - /* const_eval_fn */ ConstEvalFunctionIndex(54), - }, - { - /* [610] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(179), - /* return_matcher_indices */ MatcherIndicesIndex(205), - /* const_eval_fn */ ConstEvalFunctionIndex(58), + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(91), + }, + { + /* [608] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(941), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(91), + }, + { + /* [609] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(942), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(91), + }, + { + /* [610] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(92), }, { /* [611] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(92), + }, + { + /* [612] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(941), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(92), + }, + { + /* [613] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(942), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(92), + }, + { + /* [614] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [615] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(211), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [616] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [617] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(94), + }, + { + /* [618] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(95), + }, + { + /* [619] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(211), + /* const_eval_fn */ ConstEvalFunctionIndex(95), + }, + { + /* [620] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(95), + }, + { + /* [621] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(95), + }, + { + /* [622] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(43), + }, + { + /* [623] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(107), - /* parameters */ ParameterIndex(285), - /* return_matcher_indices */ MatcherIndicesIndex(205), + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(43), + }, + { + /* [624] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(777), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(43), + }, + { + /* [625] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(780), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(63), + }, + { + /* [626] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(772), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(63), + }, + { + /* [627] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(222), + /* parameters */ ParameterIndex(783), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(64), + }, + { + /* [628] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 4, + /* templates */ TemplateIndex(31), + /* parameters */ ParameterIndex(927), + /* return_matcher_indices */ MatcherIndicesIndex(91), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [629] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(39), + /* parameters */ ParameterIndex(929), + /* return_matcher_indices */ MatcherIndicesIndex(136), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [630] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(39), + /* parameters */ ParameterIndex(931), + /* return_matcher_indices */ MatcherIndicesIndex(141), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [631] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [632] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(991), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [633] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(269), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [634] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [635] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [636] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(270), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [637] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [638] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(970), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [639] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(271), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [640] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(27), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [641] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(961), + /* return_matcher_indices */ MatcherIndicesIndex(27), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [642] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(272), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(27), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [643] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 0, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(/* invalid */), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(106), + }, + { + /* [644] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConstructor, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(107), + }, + { + /* [645] */ + /* flags */ OverloadFlags(OverloadFlag::kIsConverter, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(273), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(108), + }, + { + /* [646] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(0), + }, + { + /* [647] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(133), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(0), + }, + { + /* [648] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(1), + }, + { + /* [649] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(1), + }, + { + /* [650] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(2), + }, + { + /* [651] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(2), + }, + { + /* [652] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(3), + }, + { + /* [653] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(3), + }, + { + /* [654] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(4), + }, + { + /* [655] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(4), + }, + { + /* [656] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(124), + /* parameters */ ParameterIndex(960), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [657] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(217), + /* parameters */ ParameterIndex(960), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [658] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(5), + }, + { + /* [659] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(5), + }, + { + /* [660] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(6), + }, + { + /* [661] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(6), + }, + { + /* [662] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(7), + }, + { + /* [663] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(7), + }, + { + /* [664] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(8), + }, + { + /* [665] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(147), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(8), + }, + { + /* [666] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(9), + }, + { + /* [667] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(9), + }, + { + /* [668] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(11), + }, + { + /* [669] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(11), + }, + { + /* [670] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(12), + }, + { + /* [671] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(12), + }, + { + /* [672] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(13), + }, + { + /* [673] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(13), + }, + { + /* [674] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(14), + }, + { + /* [675] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(14), + }, + { + /* [676] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(15), + }, + { + /* [677] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(15), + }, + { + /* [678] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(16), + }, + { + /* [679] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(16), + }, + { + /* [680] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(17), + }, + { + /* [681] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(17), + }, + { + /* [682] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(19), + }, + { + /* [683] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(19), + }, + { + /* [684] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(21), + }, + { + /* [685] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(31), + /* const_eval_fn */ ConstEvalFunctionIndex(21), + }, + { + /* [686] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(970), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [687] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(971), + /* return_matcher_indices */ MatcherIndicesIndex(232), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [688] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(25), + }, + { + /* [689] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(25), + }, + { + /* [690] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(26), + }, + { + /* [691] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(26), + }, + { + /* [692] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(16), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(27), + }, + { + /* [693] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(552), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(27), + }, + { + /* [694] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(29), + }, + { + /* [695] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(29), + }, + { + /* [696] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(30), + }, + { + /* [697] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(30), + }, + { + /* [698] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(31), + }, + { + /* [699] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(31), + }, + { + /* [700] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(32), + }, + { + /* [701] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(32), + }, + { + /* [702] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(33), + }, + { + /* [703] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(33), + }, + { + /* [704] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(413), + /* const_eval_fn */ ConstEvalFunctionIndex(34), + }, + { + /* [705] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(235), + /* const_eval_fn */ ConstEvalFunctionIndex(34), + }, + { + /* [706] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(15), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(35), + }, + { + /* [707] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 4, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(35), + }, + { + /* [708] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(36), + }, + { + /* [709] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(36), + }, + { + /* [710] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(865), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(37), + }, + { + /* [711] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(867), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(37), + }, + { + /* [712] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(38), + }, + { + /* [713] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(31), + /* const_eval_fn */ ConstEvalFunctionIndex(38), + }, + { + /* [714] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(39), + }, + { + /* [715] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(39), + }, + { + /* [716] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(40), + }, + { + /* [717] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(40), + }, + { + /* [718] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(41), + }, + { + /* [719] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(133), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(41), + }, + { + /* [720] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(42), + }, + { + /* [721] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(133), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(42), + }, + { + /* [722] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(415), + /* const_eval_fn */ ConstEvalFunctionIndex(44), + }, + { + /* [723] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(241), + /* const_eval_fn */ ConstEvalFunctionIndex(44), + }, + { + /* [724] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(55), + }, + { + /* [725] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(55), + }, + { + /* [726] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(970), + /* return_matcher_indices */ MatcherIndicesIndex(20), + /* const_eval_fn */ ConstEvalFunctionIndex(56), + }, + { + /* [727] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(971), + /* return_matcher_indices */ MatcherIndicesIndex(232), + /* const_eval_fn */ ConstEvalFunctionIndex(56), + }, + { + /* [728] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(57), + }, + { + /* [729] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(57), + }, + { + /* [730] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(60), + }, + { + /* [731] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(60), + }, + { + /* [732] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(61), + }, + { + /* [733] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(61), + }, + { + /* [734] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(62), + }, + { + /* [735] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(147), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(62), + }, + { + /* [736] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(225), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(65), + }, + { + /* [737] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(224), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(65), + }, + { + /* [738] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(66), + }, + { + /* [739] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(66), + }, + { + /* [740] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(67), + }, + { + /* [741] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(67), + }, + { + /* [742] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(68), + }, + { + /* [743] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(68), + }, + { + /* [744] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(69), + }, + { + /* [745] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(69), + }, + { + /* [746] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(70), + }, + { + /* [747] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(70), + }, + { + /* [748] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(71), + }, + { + /* [749] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(71), + }, + { + /* [750] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(72), + }, + { + /* [751] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(72), + }, + { + /* [752] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(74), + }, + { + /* [753] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(74), + }, + { + /* [754] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(268), + /* parameters */ ParameterIndex(977), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [755] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(978), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [756] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(844), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [757] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(850), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [758] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(905), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [759] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(226), + /* parameters */ ParameterIndex(907), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [760] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(905), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [761] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(226), + /* parameters */ ParameterIndex(907), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [762] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(909), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [763] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(226), + /* parameters */ ParameterIndex(911), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [764] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(913), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [765] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(226), + /* parameters */ ParameterIndex(915), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [766] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(917), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [767] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(226), + /* parameters */ ParameterIndex(919), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [768] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(48), + /* parameters */ ParameterIndex(905), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [769] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(135), + /* parameters */ ParameterIndex(907), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [770] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(921), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [771] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(226), + /* parameters */ ParameterIndex(923), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [772] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(32), + /* parameters */ ParameterIndex(921), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [773] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(226), + /* parameters */ ParameterIndex(923), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [774] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(230), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [775] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(229), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [776] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(82), + }, + { + /* [777] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(785), + /* return_matcher_indices */ MatcherIndicesIndex(211), + /* const_eval_fn */ ConstEvalFunctionIndex(82), + }, + { + /* [778] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(83), + }, + { + /* [779] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(83), + }, + { + /* [780] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(225), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(84), + }, + { + /* [781] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(225), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(84), + }, + { + /* [782] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(93), + }, + { + /* [783] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(93), + }, + { + /* [784] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(98), + }, + { + /* [785] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(400), + /* const_eval_fn */ ConstEvalFunctionIndex(98), + }, + { + /* [786] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(99), + }, + { + /* [787] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(223), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(400), + /* const_eval_fn */ ConstEvalFunctionIndex(99), + }, + { + /* [788] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(100), + }, + { + /* [789] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(400), + /* const_eval_fn */ ConstEvalFunctionIndex(100), + }, + { + /* [790] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(101), + }, + { + /* [791] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(400), + /* const_eval_fn */ ConstEvalFunctionIndex(101), + }, + { + /* [792] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(102), + }, + { + /* [793] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(400), + /* const_eval_fn */ ConstEvalFunctionIndex(102), + }, + { + /* [794] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(1), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(103), + }, + { + /* [795] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(134), + /* parameters */ ParameterIndex(771), + /* return_matcher_indices */ MatcherIndicesIndex(400), + /* const_eval_fn */ ConstEvalFunctionIndex(103), + }, + { + /* [796] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(16), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(104), + }, + { + /* [797] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(943), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(104), + }, + { + /* [798] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(16), + /* return_matcher_indices */ MatcherIndicesIndex(6), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [799] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(255), + /* parameters */ ParameterIndex(943), + /* return_matcher_indices */ MatcherIndicesIndex(214), + /* const_eval_fn */ ConstEvalFunctionIndex(105), + }, + { + /* [800] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 1, + /* templates */ TemplateIndex(128), + /* parameters */ ParameterIndex(763), + /* return_matcher_indices */ MatcherIndicesIndex(411), + /* const_eval_fn */ ConstEvalFunctionIndex(18), + }, + { + /* [801] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(969), + /* return_matcher_indices */ MatcherIndicesIndex(31), + /* const_eval_fn */ ConstEvalFunctionIndex(20), + }, + { + /* [802] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(133), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(31), + /* const_eval_fn */ ConstEvalFunctionIndex(22), + }, + { + /* [803] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(17), + /* const_eval_fn */ ConstEvalFunctionIndex(23), + }, + { + /* [804] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(24), + }, + { + /* [805] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(776), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(28), + }, + { + /* [806] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(45), + }, + { + /* [807] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(972), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(46), + }, + { + /* [808] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(972), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(47), + }, + { + /* [809] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(972), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(48), + }, + { + /* [810] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(49), + }, + { + /* [811] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(973), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(50), + }, + { + /* [812] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(51), + }, + { + /* [813] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(975), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(52), + }, + { + /* [814] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(974), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(53), + }, + { + /* [815] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(975), + /* return_matcher_indices */ MatcherIndicesIndex(4), + /* const_eval_fn */ ConstEvalFunctionIndex(54), + }, + { + /* [816] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(551), + /* return_matcher_indices */ MatcherIndicesIndex(208), + /* const_eval_fn */ ConstEvalFunctionIndex(58), + }, + { + /* [817] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 3, + /* num_explicit_templates */ 0, + /* num_templates */ 2, + /* templates */ TemplateIndex(127), + /* parameters */ ParameterIndex(777), + /* return_matcher_indices */ MatcherIndicesIndex(208), /* const_eval_fn */ ConstEvalFunctionIndex(59), }, { - /* [612] */ + /* [818] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 3, + /* templates */ TemplateIndex(145), + /* parameters */ ParameterIndex(976), + /* return_matcher_indices */ MatcherIndicesIndex(160), + /* const_eval_fn */ ConstEvalFunctionIndex(73), + }, + { + /* [819] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(417), + /* const_eval_fn */ ConstEvalFunctionIndex(75), + }, + { + /* [820] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(417), + /* const_eval_fn */ ConstEvalFunctionIndex(76), + }, + { + /* [821] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(417), + /* const_eval_fn */ ConstEvalFunctionIndex(77), + }, + { + /* [822] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(78), + }, + { + /* [823] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(419), + /* const_eval_fn */ ConstEvalFunctionIndex(79), + }, + { + /* [824] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(421), + /* const_eval_fn */ ConstEvalFunctionIndex(80), + }, + { + /* [825] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 1, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(17), + /* return_matcher_indices */ MatcherIndicesIndex(423), + /* const_eval_fn */ ConstEvalFunctionIndex(81), + }, + { + /* [826] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 0, /* num_explicit_templates */ 0, @@ -13321,236 +20052,148 @@ constexpr OverloadInfo kOverloads[] = { /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [613] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 3, - /* templates */ TemplateIndex(125), - /* parameters */ ParameterIndex(457), - /* return_matcher_indices */ MatcherIndicesIndex(157), - /* const_eval_fn */ ConstEvalFunctionIndex(73), - }, - { - /* [614] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(66), - /* const_eval_fn */ ConstEvalFunctionIndex(75), - }, - { - /* [615] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(66), - /* const_eval_fn */ ConstEvalFunctionIndex(76), - }, - { - /* [616] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(66), - /* const_eval_fn */ ConstEvalFunctionIndex(77), - }, - { - /* [617] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(78), - }, - { - /* [618] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(283), - /* const_eval_fn */ ConstEvalFunctionIndex(79), - }, - { - /* [619] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(285), - /* const_eval_fn */ ConstEvalFunctionIndex(80), - }, - { - /* [620] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(17), - /* return_matcher_indices */ MatcherIndicesIndex(287), - /* const_eval_fn */ ConstEvalFunctionIndex(81), - }, - { - /* [621] */ + /* [827] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 1, - /* templates */ TemplateIndex(76), - /* parameters */ ParameterIndex(465), - /* return_matcher_indices */ MatcherIndicesIndex(303), + /* templates */ TemplateIndex(92), + /* parameters */ ParameterIndex(984), + /* return_matcher_indices */ MatcherIndicesIndex(441), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [622] */ + /* [828] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(116), + /* templates */ TemplateIndex(136), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [623] */ + /* [829] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(116), + /* templates */ TemplateIndex(136), /* parameters */ ParameterIndex(0), /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [624] */ + /* [830] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(116), + /* templates */ TemplateIndex(136), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(27), + /* return_matcher_indices */ MatcherIndicesIndex(6), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [625] */ + /* [831] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), /* num_parameters */ 3, /* num_explicit_templates */ 0, /* num_templates */ 2, - /* templates */ TemplateIndex(116), + /* templates */ TemplateIndex(136), /* parameters */ ParameterIndex(0), - /* return_matcher_indices */ MatcherIndicesIndex(321), + /* return_matcher_indices */ MatcherIndicesIndex(477), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [626] */ + /* [832] */ + /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(903), + /* return_matcher_indices */ MatcherIndicesIndex(/* invalid */), + /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), + }, + { + /* [833] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(287), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(423), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [627] */ + /* [834] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 0, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), /* parameters */ ParameterIndex(/* invalid */), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [628] */ + /* [835] */ /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(152), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [629] */ - /* flags */ OverloadFlags(OverloadFlag::kIsBuiltin, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline), - /* num_parameters */ 1, - /* num_explicit_templates */ 0, - /* num_templates */ 1, - /* templates */ TemplateIndex(104), - /* parameters */ ParameterIndex(1), - /* return_matcher_indices */ MatcherIndicesIndex(27), - /* const_eval_fn */ ConstEvalFunctionIndex(82), - }, - { - /* [630] */ + /* [836] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(470), - /* return_matcher_indices */ MatcherIndicesIndex(181), + /* templates */ TemplateIndex(211), + /* parameters */ ParameterIndex(989), + /* return_matcher_indices */ MatcherIndicesIndex(184), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [631] */ + /* [837] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 1, /* num_explicit_templates */ 0, /* num_templates */ 3, - /* templates */ TemplateIndex(157), - /* parameters */ ParameterIndex(471), - /* return_matcher_indices */ MatcherIndicesIndex(185), + /* templates */ TemplateIndex(211), + /* parameters */ ParameterIndex(990), + /* return_matcher_indices */ MatcherIndicesIndex(188), /* const_eval_fn */ ConstEvalFunctionIndex(/* invalid */), }, { - /* [632] */ + /* [838] */ /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), /* num_parameters */ 2, /* num_explicit_templates */ 0, /* num_templates */ 0, /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(109), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), + /* const_eval_fn */ ConstEvalFunctionIndex(96), + }, + { + /* [839] */ + /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), + /* num_parameters */ 2, + /* num_explicit_templates */ 0, + /* num_templates */ 0, + /* templates */ TemplateIndex(/* invalid */), + /* parameters */ ParameterIndex(774), + /* return_matcher_indices */ MatcherIndicesIndex(213), /* const_eval_fn */ ConstEvalFunctionIndex(97), }, - { - /* [633] */ - /* flags */ OverloadFlags(OverloadFlag::kIsOperator, OverloadFlag::kSupportsVertexPipeline, OverloadFlag::kSupportsFragmentPipeline, OverloadFlag::kSupportsComputePipeline, OverloadFlag::kMustUse), - /* num_parameters */ 2, - /* num_explicit_templates */ 0, - /* num_templates */ 0, - /* templates */ TemplateIndex(/* invalid */), - /* parameters */ ParameterIndex(282), - /* return_matcher_indices */ MatcherIndicesIndex(109), - /* const_eval_fn */ ConstEvalFunctionIndex(98), - }, }; static_assert(OverloadIndex::CanIndex(kOverloads), @@ -13562,373 +20205,373 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn abs[T : fia_fiu32_f16](T) -> T */ /* fn abs[N : num, T : fia_fiu32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(440), + /* overloads */ OverloadIndex(646), }, { /* [1] */ /* fn acos[T : fa_f32_f16](@test_value(0.96891242171) T) -> T */ /* fn acos[N : num, T : fa_f32_f16](@test_value(0.96891242171) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(442), + /* overloads */ OverloadIndex(648), }, { /* [2] */ /* fn acosh[T : fa_f32_f16](@test_value(1.5430806348) T) -> T */ /* fn acosh[N : num, T : fa_f32_f16](@test_value(1.5430806348) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(444), + /* overloads */ OverloadIndex(650), }, { /* [3] */ /* fn all(bool) -> bool */ /* fn all[N : num](vec) -> bool */ /* num overloads */ 2, - /* overloads */ OverloadIndex(446), + /* overloads */ OverloadIndex(652), }, { /* [4] */ /* fn any(bool) -> bool */ /* fn any[N : num](vec) -> bool */ /* num overloads */ 2, - /* overloads */ OverloadIndex(448), + /* overloads */ OverloadIndex(654), }, { /* [5] */ /* fn arrayLength[T, R : read](ptr, R>) -> u32 */ /* fn arrayLength[T, W : writable](ptr, W>) -> u32 */ /* num overloads */ 2, - /* overloads */ OverloadIndex(450), + /* overloads */ OverloadIndex(656), }, { /* [6] */ /* fn asin[T : fa_f32_f16](@test_value(0.479425538604) T) -> T */ /* fn asin[N : num, T : fa_f32_f16](@test_value(0.479425538604) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(452), + /* overloads */ OverloadIndex(658), }, { /* [7] */ /* fn asinh[T : fa_f32_f16](T) -> T */ /* fn asinh[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(454), + /* overloads */ OverloadIndex(660), }, { /* [8] */ /* fn atan[T : fa_f32_f16](T) -> T */ /* fn atan[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(456), + /* overloads */ OverloadIndex(662), }, { /* [9] */ /* fn atan2[T : fa_f32_f16](T, T) -> T */ /* fn atan2[T : fa_f32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(458), + /* overloads */ OverloadIndex(664), }, { /* [10] */ /* fn atanh[T : fa_f32_f16](@test_value(0.5) T) -> T */ /* fn atanh[N : num, T : fa_f32_f16](@test_value(0.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(460), + /* overloads */ OverloadIndex(666), }, { /* [11] */ - /* fn bitcast[U : fiu32](U) -> T */ /* fn bitcast(f16) -> T */ - /* fn bitcast>[N : num, U : fiu32](vec) -> T */ - /* fn bitcast>[N : num](vec) -> T */ /* fn bitcast(ia) -> T */ - /* fn bitcast>[N : num](vec) -> T */ /* fn bitcast(vec2) -> T */ /* fn bitcast>(vec4) -> T */ + /* fn bitcast[U : fiu32](U) -> T */ + /* fn bitcast>[N : num, U : fiu32](vec) -> T */ + /* fn bitcast>[N : num](vec) -> T */ + /* fn bitcast>[N : num](vec) -> T */ /* fn bitcast>[S : fiu32](S) -> T */ /* fn bitcast>[S : fiu32](vec2) -> T */ /* num overloads */ 10, - /* overloads */ OverloadIndex(208), + /* overloads */ OverloadIndex(432), }, { /* [12] */ /* fn ceil[T : fa_f32_f16](@test_value(1.5) T) -> T */ /* fn ceil[N : num, T : fa_f32_f16](@test_value(1.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(462), + /* overloads */ OverloadIndex(668), }, { /* [13] */ /* fn clamp[T : fia_fiu32_f16](T, T, T) -> T */ /* fn clamp[T : fia_fiu32_f16, N : num](vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(464), + /* overloads */ OverloadIndex(670), }, { /* [14] */ /* fn cos[T : fa_f32_f16](@test_value(0) T) -> T */ /* fn cos[N : num, T : fa_f32_f16](@test_value(0) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(466), + /* overloads */ OverloadIndex(672), }, { /* [15] */ /* fn cosh[T : fa_f32_f16](@test_value(0) T) -> T */ /* fn cosh[N : num, T : fa_f32_f16](@test_value(0) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(468), + /* overloads */ OverloadIndex(674), }, { /* [16] */ /* fn countLeadingZeros[T : iu32](T) -> T */ /* fn countLeadingZeros[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(470), + /* overloads */ OverloadIndex(676), }, { /* [17] */ /* fn countOneBits[T : iu32](T) -> T */ /* fn countOneBits[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(472), + /* overloads */ OverloadIndex(678), }, { /* [18] */ /* fn countTrailingZeros[T : iu32](T) -> T */ /* fn countTrailingZeros[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(474), + /* overloads */ OverloadIndex(680), }, { /* [19] */ /* fn cross[T : fa_f32_f16](vec3, vec3) -> vec3 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(594), + /* overloads */ OverloadIndex(800), }, { /* [20] */ /* fn degrees[T : fa_f32_f16](T) -> T */ /* fn degrees[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(476), + /* overloads */ OverloadIndex(682), }, { /* [21] */ /* fn determinant[N : num, T : fa_f32_f16](mat) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(595), + /* overloads */ OverloadIndex(801), }, { /* [22] */ /* fn distance[T : fa_f32_f16](T, T) -> T */ /* fn distance[N : num, T : fa_f32_f16](vec, vec) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(478), + /* overloads */ OverloadIndex(684), }, { /* [23] */ /* fn dot[N : num, T : fia_fiu32_f16](vec, vec) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(596), + /* overloads */ OverloadIndex(802), }, { /* [24] */ /* fn dot4I8Packed(u32, u32) -> i32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(597), + /* overloads */ OverloadIndex(803), }, { /* [25] */ /* fn dot4U8Packed(u32, u32) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(598), + /* overloads */ OverloadIndex(804), }, { /* [26] */ /* fn dpdx(f32) -> f32 */ /* fn dpdx[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [27] */ /* fn dpdxCoarse(f32) -> f32 */ /* fn dpdxCoarse[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [28] */ /* fn dpdxFine(f32) -> f32 */ /* fn dpdxFine[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [29] */ /* fn dpdy(f32) -> f32 */ /* fn dpdy[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [30] */ /* fn dpdyCoarse(f32) -> f32 */ /* fn dpdyCoarse[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [31] */ /* fn dpdyFine(f32) -> f32 */ /* fn dpdyFine[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [32] */ /* fn exp[T : fa_f32_f16](T) -> T */ /* fn exp[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(482), + /* overloads */ OverloadIndex(688), }, { /* [33] */ /* fn exp2[T : fa_f32_f16](T) -> T */ /* fn exp2[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(484), + /* overloads */ OverloadIndex(690), }, { /* [34] */ /* fn extractBits[T : iu32](T, u32, u32) -> T */ /* fn extractBits[N : num, T : iu32](vec, u32, u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(486), + /* overloads */ OverloadIndex(692), }, { /* [35] */ /* fn faceForward[N : num, T : fa_f32_f16](vec, vec, vec) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(599), + /* overloads */ OverloadIndex(805), }, { /* [36] */ /* fn firstLeadingBit[T : iu32](T) -> T */ /* fn firstLeadingBit[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(488), + /* overloads */ OverloadIndex(694), }, { /* [37] */ /* fn firstTrailingBit[T : iu32](T) -> T */ /* fn firstTrailingBit[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(490), + /* overloads */ OverloadIndex(696), }, { /* [38] */ /* fn floor[T : fa_f32_f16](@test_value(1.5) T) -> T */ /* fn floor[N : num, T : fa_f32_f16](@test_value(1.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(492), + /* overloads */ OverloadIndex(698), }, { /* [39] */ /* fn fma[T : fa_f32_f16](T, T, T) -> T */ /* fn fma[N : num, T : fa_f32_f16](vec, vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(494), + /* overloads */ OverloadIndex(700), }, { /* [40] */ /* fn fract[T : fa_f32_f16](@test_value(1.25) T) -> T */ /* fn fract[N : num, T : fa_f32_f16](@test_value(1.25) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(496), + /* overloads */ OverloadIndex(702), }, { /* [41] */ /* fn frexp[T : fa_f32_f16](T) -> __frexp_result */ /* fn frexp[N : num, T : fa_f32_f16](vec) -> __frexp_result_vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(498), + /* overloads */ OverloadIndex(704), }, { /* [42] */ /* fn fwidth(f32) -> f32 */ /* fn fwidth[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [43] */ /* fn fwidthCoarse(f32) -> f32 */ /* fn fwidthCoarse[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [44] */ /* fn fwidthFine(f32) -> f32 */ /* fn fwidthFine[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(480), + /* overloads */ OverloadIndex(686), }, { /* [45] */ /* fn insertBits[T : iu32](T, T, u32, u32) -> T */ /* fn insertBits[N : num, T : iu32](vec, vec, u32, u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(500), + /* overloads */ OverloadIndex(706), }, { /* [46] */ /* fn inverseSqrt[T : fa_f32_f16](T) -> T */ /* fn inverseSqrt[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(502), + /* overloads */ OverloadIndex(708), }, { /* [47] */ /* fn ldexp[T : fa_f32_f16, U : ia_i32](T, U) -> T */ /* fn ldexp[N : num, T : fa_f32_f16, U : ia_i32](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(504), + /* overloads */ OverloadIndex(710), }, { /* [48] */ /* fn length[T : fa_f32_f16](@test_value(0) T) -> T */ /* fn length[N : num, T : fa_f32_f16](@test_value(0) vec) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(506), + /* overloads */ OverloadIndex(712), }, { /* [49] */ /* fn log[T : fa_f32_f16](T) -> T */ /* fn log[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(508), + /* overloads */ OverloadIndex(714), }, { /* [50] */ /* fn log2[T : fa_f32_f16](T) -> T */ /* fn log2[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(510), + /* overloads */ OverloadIndex(716), }, { /* [51] */ /* fn max[T : fia_fiu32_f16](T, T) -> T */ /* fn max[N : num, T : fia_fiu32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(512), + /* overloads */ OverloadIndex(718), }, { /* [52] */ /* fn min[T : fia_fiu32_f16](T, T) -> T */ /* fn min[N : num, T : fia_fiu32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(514), + /* overloads */ OverloadIndex(720), }, { /* [53] */ @@ -13936,128 +20579,128 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn mix[N : num, T : fa_f32_f16](vec, vec, vec) -> vec */ /* fn mix[N : num, T : fa_f32_f16](vec, vec, T) -> vec */ /* num overloads */ 3, - /* overloads */ OverloadIndex(416), + /* overloads */ OverloadIndex(622), }, { /* [54] */ /* fn modf[T : fa_f32_f16](@test_value(-1.5) T) -> __modf_result */ /* fn modf[N : num, T : fa_f32_f16](@test_value(-1.5) vec) -> __modf_result_vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(516), + /* overloads */ OverloadIndex(722), }, { /* [55] */ /* fn normalize[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(600), + /* overloads */ OverloadIndex(806), }, { /* [56] */ /* fn pack2x16float(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(601), + /* overloads */ OverloadIndex(807), }, { /* [57] */ /* fn pack2x16snorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(602), + /* overloads */ OverloadIndex(808), }, { /* [58] */ /* fn pack2x16unorm(vec2) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(603), + /* overloads */ OverloadIndex(809), }, { /* [59] */ /* fn pack4x8snorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(604), + /* overloads */ OverloadIndex(810), }, { /* [60] */ /* fn pack4x8unorm(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(605), + /* overloads */ OverloadIndex(811), }, { /* [61] */ /* fn pack4xI8(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(606), + /* overloads */ OverloadIndex(812), }, { /* [62] */ /* fn pack4xU8(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(607), + /* overloads */ OverloadIndex(813), }, { /* [63] */ /* fn pack4xI8Clamp(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(608), + /* overloads */ OverloadIndex(814), }, { /* [64] */ /* fn pack4xU8Clamp(vec4) -> u32 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(609), + /* overloads */ OverloadIndex(815), }, { /* [65] */ /* fn pow[T : fa_f32_f16](T, T) -> T */ /* fn pow[N : num, T : fa_f32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(518), + /* overloads */ OverloadIndex(724), }, { /* [66] */ /* fn quantizeToF16(f32) -> f32 */ /* fn quantizeToF16[N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(520), + /* overloads */ OverloadIndex(726), }, { /* [67] */ /* fn radians[T : fa_f32_f16](T) -> T */ /* fn radians[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(522), + /* overloads */ OverloadIndex(728), }, { /* [68] */ /* fn reflect[N : num, T : fa_f32_f16](vec, vec) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(610), + /* overloads */ OverloadIndex(816), }, { /* [69] */ /* fn refract[N : num, T : fa_f32_f16](vec, vec, T) -> vec */ /* num overloads */ 1, - /* overloads */ OverloadIndex(611), + /* overloads */ OverloadIndex(817), }, { /* [70] */ /* fn reverseBits[T : iu32](T) -> T */ /* fn reverseBits[N : num, T : iu32](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(524), + /* overloads */ OverloadIndex(730), }, { /* [71] */ /* fn round[T : fa_f32_f16](@test_value(3.5) T) -> T */ /* fn round[N : num, T : fa_f32_f16](@test_value(3.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(526), + /* overloads */ OverloadIndex(732), }, { /* [72] */ /* fn saturate[T : fa_f32_f16](@test_value(2) T) -> T */ /* fn saturate[T : fa_f32_f16, N : num](@test_value(2) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(528), + /* overloads */ OverloadIndex(734), }, { /* [73] */ @@ -14065,143 +20708,143 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn select[T : scalar, N : num](vec, vec, bool) -> vec */ /* fn select[N : num, T : scalar](vec, vec, vec) -> vec */ /* num overloads */ 3, - /* overloads */ OverloadIndex(419), + /* overloads */ OverloadIndex(625), }, { /* [74] */ /* fn sign[T : fia_fi32_f16](T) -> T */ /* fn sign[N : num, T : fia_fi32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(530), + /* overloads */ OverloadIndex(736), }, { /* [75] */ /* fn sin[T : fa_f32_f16](@test_value(1.57079632679) T) -> T */ /* fn sin[N : num, T : fa_f32_f16](@test_value(1.57079632679) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(532), + /* overloads */ OverloadIndex(738), }, { /* [76] */ /* fn sinh[T : fa_f32_f16](T) -> T */ /* fn sinh[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(534), + /* overloads */ OverloadIndex(740), }, { /* [77] */ /* fn smoothstep[T : fa_f32_f16](@test_value(2) T, @test_value(4) T, @test_value(3) T) -> T */ /* fn smoothstep[N : num, T : fa_f32_f16](@test_value(2) vec, @test_value(4) vec, @test_value(3) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(536), + /* overloads */ OverloadIndex(742), }, { /* [78] */ /* fn sqrt[T : fa_f32_f16](T) -> T */ /* fn sqrt[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(538), + /* overloads */ OverloadIndex(744), }, { /* [79] */ /* fn step[T : fa_f32_f16](T, T) -> T */ /* fn step[N : num, T : fa_f32_f16](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(540), + /* overloads */ OverloadIndex(746), }, { /* [80] */ - /* fn storageBarrier() */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(612), - }, - { - /* [81] */ /* fn tan[T : fa_f32_f16](T) -> T */ /* fn tan[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(542), + /* overloads */ OverloadIndex(748), }, { - /* [82] */ + /* [81] */ /* fn tanh[T : fa_f32_f16](T) -> T */ /* fn tanh[N : num, T : fa_f32_f16](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(544), + /* overloads */ OverloadIndex(750), + }, + { + /* [82] */ + /* fn transpose[M : num, N : num, T : fa_f32_f16](mat) -> mat */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(818), }, { /* [83] */ - /* fn transpose[M : num, N : num, T : fa_f32_f16](mat) -> mat */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(613), - }, - { - /* [84] */ /* fn trunc[T : fa_f32_f16](@test_value(1.5) T) -> T */ /* fn trunc[N : num, T : fa_f32_f16](@test_value(1.5) vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(546), + /* overloads */ OverloadIndex(752), + }, + { + /* [84] */ + /* fn unpack2x16float(u32) -> vec2 */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(819), }, { /* [85] */ - /* fn unpack2x16float(u32) -> vec2 */ + /* fn unpack2x16snorm(u32) -> vec2 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(614), + /* overloads */ OverloadIndex(820), }, { /* [86] */ - /* fn unpack2x16snorm(u32) -> vec2 */ + /* fn unpack2x16unorm(u32) -> vec2 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(615), + /* overloads */ OverloadIndex(821), }, { /* [87] */ - /* fn unpack2x16unorm(u32) -> vec2 */ + /* fn unpack4x8snorm(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(616), + /* overloads */ OverloadIndex(822), }, { /* [88] */ - /* fn unpack4x8snorm(u32) -> vec4 */ + /* fn unpack4x8unorm(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(617), + /* overloads */ OverloadIndex(823), }, { /* [89] */ - /* fn unpack4x8unorm(u32) -> vec4 */ + /* fn unpack4xI8(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(618), + /* overloads */ OverloadIndex(824), }, { /* [90] */ - /* fn unpack4xI8(u32) -> vec4 */ + /* fn unpack4xU8(u32) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(619), + /* overloads */ OverloadIndex(825), }, { /* [91] */ - /* fn unpack4xU8(u32) -> vec4 */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(620), - }, - { - /* [92] */ - /* fn workgroupBarrier() */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(612), - }, - { - /* [93] */ /* fn workgroupUniformLoad[T : __constructible](ptr) -> T */ /* fn workgroupUniformLoad[T : iu32](ptr, read_write>) -> T */ /* num overloads */ 2, - /* overloads */ OverloadIndex(548), + /* overloads */ OverloadIndex(754), + }, + { + /* [92] */ + /* fn storageBarrier() */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(826), + }, + { + /* [93] */ + /* fn workgroupBarrier() */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(826), }, { /* [94] */ /* fn textureBarrier() */ /* num overloads */ 1, - /* overloads */ OverloadIndex(612), + /* overloads */ OverloadIndex(826), }, { /* [95] */ @@ -14217,6 +20860,18 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_cube, level: L) -> vec2 */ /* fn textureDimensions[T : fiu32](texture: texture_cube_array) -> vec2 */ /* fn textureDimensions[T : fiu32, L : iu32](texture: texture_cube_array, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_1d_filtered) -> u32 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_1d_filtered, level: L) -> u32 */ + /* fn textureDimensions[K : texture_filter](texture: texture_2d_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_2d_filtered, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_2d_array_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_2d_array_filtered, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_3d_filtered) -> vec3 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_3d_filtered, level: L) -> vec3 */ + /* fn textureDimensions[K : texture_filter](texture: texture_cube_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_cube_filtered, level: L) -> vec2 */ + /* fn textureDimensions[K : texture_filter](texture: texture_cube_array_filtered) -> vec2 */ + /* fn textureDimensions[K : texture_filter, L : iu32](texture: texture_cube_array_filtered, level: L) -> vec2 */ /* fn textureDimensions[T : fiu32](texture: texture_multisampled_2d) -> vec2 */ /* fn textureDimensions(texture: texture_depth_2d) -> vec2 */ /* fn textureDimensions[L : iu32](texture: texture_depth_2d, level: L) -> vec2 */ @@ -14231,32 +20886,56 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_2d) -> vec2 */ /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_2d_array) -> vec2 */ /* fn textureDimensions[F : texel_format, R : read](texture: texture_storage_3d) -> vec3 */ - /* fn textureDimensions[F : texel_format, R : read](texture: texel_buffer) -> u32 */ /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_1d) -> u32 */ /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_2d) -> vec2 */ /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_2d_array) -> vec2 */ /* fn textureDimensions[F : texel_format, W : writable](texture: texture_storage_3d) -> vec3 */ + /* fn textureDimensions[F : texel_format, R : read](texture: texel_buffer) -> u32 */ /* fn textureDimensions[F : texel_format, W : writable](texture: texel_buffer) -> u32 */ /* fn textureDimensions(texture: texture_external) -> vec2 */ - /* num overloads */ 33, - /* overloads */ OverloadIndex(39), + /* num overloads */ 45, + /* overloads */ OverloadIndex(102), }, { /* [96] */ /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, K : sampler_filter](@const component: C, texture: texture_2d, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureGather[T : f32, F : texture_filter, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureGather[T : f32, K : sampler_filter, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, K : sampler_filter](@const component: C, texture: texture_2d, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, F : texture_filter](@const component: C, texture: texture_2d_filtered, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, K : sampler_filter](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32](@const component: C, texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, F : texture_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, F : texture_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32](@const component: C, texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32](@const component: C, texture: texture_cube, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, K : sampler_filter](@const component: C, texture: texture_cube, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureGather[T : f32, F : texture_filter, C : iu32](@const component: C, texture: texture_cube_filtered, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureGather[T : f32, K : sampler_filter, C : iu32](@const component: C, texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureGather[T : f32, C : iu32](@const component: C, texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ /* fn textureGather[T : fiu32, C : iu32, A : iu32](@const component: C, texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, F : texture_filter](@const component: C, texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32, K : sampler_filter](@const component: C, texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureGather[T : f32, C : iu32, A : iu32](@const component: C, texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2) -> vec4 */ /* fn textureGather(texture: texture_depth_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ /* fn textureGather[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ /* fn textureGather[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ /* fn textureGather(texture: texture_depth_cube, sampler: sampler, coords: vec3) -> vec4 */ /* fn textureGather[A : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ - /* num overloads */ 12, - /* overloads */ OverloadIndex(172), + /* num overloads */ 36, + /* overloads */ OverloadIndex(270), }, { /* [97] */ @@ -14267,18 +20946,20 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureGatherCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> vec4 */ /* fn textureGatherCompare[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> vec4 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(342), + /* overloads */ OverloadIndex(548), }, { /* [98] */ /* fn textureNumLayers[T : fiu32](texture: texture_2d_array) -> u32 */ /* fn textureNumLayers[T : fiu32](texture: texture_cube_array) -> u32 */ + /* fn textureNumLayers[F : texture_filter](texture: texture_2d_array_filtered) -> u32 */ + /* fn textureNumLayers[F : texture_filter](texture: texture_cube_array_filtered) -> u32 */ /* fn textureNumLayers(texture: texture_depth_2d_array) -> u32 */ /* fn textureNumLayers(texture: texture_depth_cube_array) -> u32 */ /* fn textureNumLayers[F : texel_format, R : read](texture: texture_storage_2d_array) -> u32 */ /* fn textureNumLayers[F : texel_format, W : writable](texture: texture_storage_2d_array) -> u32 */ - /* num overloads */ 6, - /* overloads */ OverloadIndex(348), + /* num overloads */ 8, + /* overloads */ OverloadIndex(532), }, { /* [99] */ @@ -14288,52 +20969,126 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureNumLevels[T : fiu32](texture: texture_3d) -> u32 */ /* fn textureNumLevels[T : fiu32](texture: texture_cube) -> u32 */ /* fn textureNumLevels[T : fiu32](texture: texture_cube_array) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_1d_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_2d_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_2d_array_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_3d_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_cube_filtered) -> u32 */ + /* fn textureNumLevels[K : texture_filter](texture: texture_cube_array_filtered) -> u32 */ /* fn textureNumLevels(texture: texture_depth_2d) -> u32 */ /* fn textureNumLevels(texture: texture_depth_2d_array) -> u32 */ /* fn textureNumLevels(texture: texture_depth_cube) -> u32 */ /* fn textureNumLevels(texture: texture_depth_cube_array) -> u32 */ - /* num overloads */ 10, - /* overloads */ OverloadIndex(218), + /* num overloads */ 16, + /* overloads */ OverloadIndex(388), }, { /* [100] */ /* fn textureNumSamples[T : fiu32](texture: texture_multisampled_2d) -> u32 */ /* fn textureNumSamples(texture: texture_depth_multisampled_2d) -> u32 */ /* num overloads */ 2, - /* overloads */ OverloadIndex(550), + /* overloads */ OverloadIndex(756), }, { /* [101] */ /* fn textureSample(texture: texture_1d, sampler: sampler, coords: f32) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_1d, sampler: sampler_filtered, coords: f32) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_1d_filtered, sampler: sampler, coords: f32) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32) -> vec4 */ + /* fn textureSample(texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32) -> vec4 */ /* fn textureSample(texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSample(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ /* fn textureSample(texture: texture_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSample(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, @const offset: vec2) -> vec4 */ /* fn textureSample[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[F : texture_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ + /* fn textureSample[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A) -> vec4 */ /* fn textureSample[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[F : texture_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ + /* fn textureSample[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, @const offset: vec2) -> vec4 */ /* fn textureSample(texture: texture_3d, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ /* fn textureSample(texture: texture_3d, sampler: sampler, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSample(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, @const offset: vec3) -> vec4 */ /* fn textureSample(texture: texture_cube, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3) -> vec4 */ + /* fn textureSample[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ + /* fn textureSample(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3) -> vec4 */ /* fn textureSample[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[F : texture_filter, A : iu32](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[K : sampler_filter, A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ + /* fn textureSample[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A) -> vec4 */ /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2) -> f32 */ /* fn textureSample(texture: texture_depth_2d, sampler: sampler, coords: vec2, @const offset: vec2) -> f32 */ /* fn textureSample[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A) -> f32 */ /* fn textureSample[A : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, @const offset: vec2) -> f32 */ /* fn textureSample(texture: texture_depth_cube, sampler: sampler, coords: vec3) -> f32 */ /* fn textureSample[A : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A) -> f32 */ - /* num overloads */ 15, - /* overloads */ OverloadIndex(114), + /* num overloads */ 51, + /* overloads */ OverloadIndex(0), }, { /* [102] */ /* fn textureSampleBias(texture: texture_2d, sampler: sampler, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32) -> vec4 */ + /* fn textureSampleBias(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32) -> vec4 */ /* fn textureSampleBias(texture: texture_2d, sampler: sampler, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, bias: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleBias[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32) -> vec4 */ /* fn textureSampleBias[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleBias[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, bias: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleBias(texture: texture_3d, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ /* fn textureSampleBias(texture: texture_3d, sampler: sampler, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleBias(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, bias: f32, @const offset: vec3) -> vec4 */ /* fn textureSampleBias(texture: texture_cube, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ + /* fn textureSampleBias(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, bias: f32) -> vec4 */ /* fn textureSampleBias[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A, bias: f32) -> vec4 */ - /* num overloads */ 8, - /* overloads */ OverloadIndex(318), + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, F : texture_filter](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32, K : sampler_filter](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* fn textureSampleBias[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, bias: f32) -> vec4 */ + /* num overloads */ 40, + /* overloads */ OverloadIndex(190), }, { /* [103] */ @@ -14344,7 +21099,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureSampleCompare(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 */ /* fn textureSampleCompare[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> f32 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(354), + /* overloads */ OverloadIndex(554), }, { /* [104] */ @@ -14355,47 +21110,119 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureSampleCompareLevel(texture: texture_depth_cube, sampler: sampler_comparison, coords: vec3, depth_ref: f32) -> f32 */ /* fn textureSampleCompareLevel[A : iu32](texture: texture_depth_cube_array, sampler: sampler_comparison, coords: vec3, array_index: A, depth_ref: f32) -> f32 */ /* num overloads */ 6, - /* overloads */ OverloadIndex(360), + /* overloads */ OverloadIndex(560), }, { /* [105] */ /* fn textureSampleGrad(texture: texture_2d, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad(texture: texture_2d_filtered, sampler: sampler_filtered, 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[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ /* fn textureSampleGrad[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2) -> vec4 */ /* fn textureSampleGrad[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ + /* fn textureSampleGrad[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, ddx: vec2, ddy: vec2, @const offset: vec2) -> vec4 */ /* fn textureSampleGrad(texture: texture_3d, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ /* fn textureSampleGrad(texture: texture_3d, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ + /* fn textureSampleGrad(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3, @const offset: vec3) -> vec4 */ /* fn textureSampleGrad(texture: texture_cube, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, ddx: vec3, ddy: vec3) -> vec4 */ /* fn textureSampleGrad[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ - /* num overloads */ 8, - /* overloads */ OverloadIndex(326), + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[A : iu32, F : texture_filter](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[A : iu32, K : sampler_filter](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* fn textureSampleGrad[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, ddx: vec3, ddy: vec3) -> vec4 */ + /* num overloads */ 40, + /* overloads */ OverloadIndex(230), }, { /* [106] */ /* fn textureSampleLevel(texture: texture_1d, sampler: sampler, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_1d, sampler: sampler_filtered, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_1d_filtered, sampler: sampler, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_1d_filtered, sampler: sampler_filtered, coords: f32, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_2d, sampler: sampler, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2, level: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleLevel[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32) -> vec4 */ /* fn textureSampleLevel[A : iu32](texture: texture_2d_array, sampler: sampler, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32, F : texture_filter](texture: texture_2d_array_filtered, sampler: sampler, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ + /* fn textureSampleLevel[A : iu32](texture: texture_2d_array_filtered, sampler: sampler_filtered, coords: vec2, array_index: A, level: f32, @const offset: vec2) -> vec4 */ /* fn textureSampleLevel(texture: texture_3d, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ /* fn textureSampleLevel(texture: texture_3d, sampler: sampler, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d, sampler: sampler_filtered, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_3d_filtered, sampler: sampler, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ + /* fn textureSampleLevel(texture: texture_3d_filtered, sampler: sampler_filtered, coords: vec3, level: f32, @const offset: vec3) -> vec4 */ /* fn textureSampleLevel(texture: texture_cube, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_cube, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[F : texture_filter](texture: texture_cube_filtered, sampler: sampler, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel[K : sampler_filter](texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ + /* fn textureSampleLevel(texture: texture_cube_filtered, sampler: sampler_filtered, coords: vec3, level: f32) -> vec4 */ /* fn textureSampleLevel[A : iu32](texture: texture_cube_array, sampler: sampler, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_cube_array, sampler: sampler_filtered, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, F : texture_filter](texture: texture_cube_array_filtered, sampler: sampler, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32, K : sampler_filter](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, level: f32) -> vec4 */ + /* fn textureSampleLevel[A : iu32](texture: texture_cube_array_filtered, sampler: sampler_filtered, coords: vec3, array_index: A, level: f32) -> vec4 */ /* fn textureSampleLevel[L : iu32](texture: texture_depth_2d, sampler: sampler, coords: vec2, level: L) -> f32 */ /* fn textureSampleLevel[L : iu32](texture: texture_depth_2d, sampler: sampler, coords: vec2, level: L, @const offset: vec2) -> f32 */ /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, level: L) -> f32 */ /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_2d_array, sampler: sampler, coords: vec2, array_index: A, level: L, @const offset: vec2) -> f32 */ /* fn textureSampleLevel[L : iu32](texture: texture_depth_cube, sampler: sampler, coords: vec3, level: L) -> f32 */ /* fn textureSampleLevel[A : iu32, L : iu32](texture: texture_depth_cube_array, sampler: sampler, coords: vec3, array_index: A, level: L) -> f32 */ - /* num overloads */ 15, - /* overloads */ OverloadIndex(129), + /* num overloads */ 51, + /* overloads */ OverloadIndex(51), }, { /* [107] */ /* fn textureSampleBaseClampToEdge(texture: texture_2d, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge[K : sampler_filter](texture: texture_2d, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge[F : texture_filter](texture: texture_2d_filtered, sampler: sampler, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge[K : sampler_filter](texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ + /* fn textureSampleBaseClampToEdge(texture: texture_2d_filtered, sampler: sampler_filtered, coords: vec2) -> vec4 */ /* fn textureSampleBaseClampToEdge(texture: texture_external, sampler: sampler, coords: vec2) -> vec4 */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(552), + /* num overloads */ 6, + /* overloads */ OverloadIndex(566), }, { /* [108] */ @@ -14415,7 +21242,7 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureStore[C : iu32, F : u32_texel_format, W : writable](texture: texture_storage_3d, coords: vec3, value: vec4) */ /* fn textureStore[C : iu32, F : u32_texel_format, RW : read_write](texture: texel_buffer, coords: C, value: vec4) */ /* num overloads */ 15, - /* overloads */ OverloadIndex(144), + /* overloads */ OverloadIndex(404), }, { /* [109] */ @@ -14423,6 +21250,10 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureLoad[T : fiu32, C : iu32, L : iu32](texture: texture_2d, coords: vec2, level: L) -> vec4 */ /* fn textureLoad[T : fiu32, C : iu32, A : iu32, L : iu32](texture: texture_2d_array, coords: vec2, array_index: A, level: L) -> vec4 */ /* fn textureLoad[T : fiu32, C : iu32, L : iu32](texture: texture_3d, coords: vec3, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, L : iu32, F : texture_filter](texture: texture_1d_filtered, coords: C, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, L : iu32, F : texture_filter](texture: texture_2d_filtered, coords: vec2, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, A : iu32, L : iu32, F : texture_filter](texture: texture_2d_array_filtered, coords: vec2, array_index: A, level: L) -> vec4 */ + /* fn textureLoad[T : f32, C : iu32, L : iu32, F : texture_filter](texture: texture_3d_filtered, coords: vec3, level: L) -> vec4 */ /* fn textureLoad[T : fiu32, C : iu32, S : iu32](texture: texture_multisampled_2d, coords: vec2, sample_index: S) -> vec4 */ /* fn textureLoad[C : iu32, L : iu32](texture: texture_depth_2d, coords: vec2, level: L) -> f32 */ /* fn textureLoad[C : iu32, A : iu32, L : iu32](texture: texture_depth_2d_array, coords: vec2, array_index: A, level: L) -> f32 */ @@ -14458,318 +21289,330 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn textureLoad[C : iu32, F : f32_texel_format, RW : read_write](texture: texel_buffer, coords: C) -> vec4 */ /* fn textureLoad[C : iu32, F : i32_texel_format, RW : read_write](texture: texel_buffer, coords: C) -> vec4 */ /* fn textureLoad[C : iu32, F : u32_texel_format, RW : read_write](texture: texel_buffer, coords: C) -> vec4 */ - /* num overloads */ 39, - /* overloads */ OverloadIndex(0), + /* num overloads */ 43, + /* overloads */ OverloadIndex(147), }, { /* [110] */ /* fn inputAttachmentLoad[T : fiu32](input_attachment: input_attachment) -> vec4 */ /* num overloads */ 1, - /* overloads */ OverloadIndex(621), + /* overloads */ OverloadIndex(827), }, { /* [111] */ /* fn atomicLoad[T : iu32, S : workgroup_or_storage](ptr, read_write>) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(622), + /* overloads */ OverloadIndex(828), }, { /* [112] */ /* fn atomicStore[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(623), + /* overloads */ OverloadIndex(829), }, { /* [113] */ /* fn atomicAdd[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [114] */ /* fn atomicSub[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [115] */ /* fn atomicMax[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [116] */ /* fn atomicMin[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [117] */ /* fn atomicAnd[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [118] */ /* fn atomicOr[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [119] */ /* fn atomicXor[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [120] */ /* fn atomicExchange[T : iu32, S : workgroup_or_storage](ptr, read_write>, T) -> T */ /* num overloads */ 1, - /* overloads */ OverloadIndex(624), + /* overloads */ OverloadIndex(830), }, { /* [121] */ /* fn atomicCompareExchangeWeak[T : iu32, S : workgroup_or_storage](ptr, read_write>, T, T) -> __atomic_compare_exchange_result */ /* num overloads */ 1, - /* overloads */ OverloadIndex(625), + /* overloads */ OverloadIndex(831), }, { /* [122] */ - /* fn subgroupBallot(bool) -> vec4 */ + /* fn atomicStoreMax(ptr>, read_write>, vec2) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(626), + /* overloads */ OverloadIndex(832), }, { /* [123] */ - /* fn subgroupElect() -> bool */ + /* fn atomicStoreMin(ptr>, read_write>, vec2) */ /* num overloads */ 1, - /* overloads */ OverloadIndex(627), + /* overloads */ OverloadIndex(832), }, { /* [124] */ - /* fn subgroupBroadcast[T : fiu32_f16](value: T, @const sourceLaneIndex: iu32) -> T */ - /* fn subgroupBroadcast[N : num, T : fiu32_f16](value: vec, @const sourceLaneIndex: iu32) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(554), + /* fn subgroupBallot(bool) -> vec4 */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(833), }, { /* [125] */ - /* fn subgroupBroadcastFirst[T : fiu32_f16](value: T) -> T */ - /* fn subgroupBroadcastFirst[N : num, T : fiu32_f16](value: vec) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* fn subgroupElect() -> bool */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(834), }, { /* [126] */ - /* fn subgroupShuffle[T : fiu32_f16](value: T, sourceLaneIndex: iu32) -> T */ - /* fn subgroupShuffle[N : num, T : fiu32_f16](value: vec, sourceLaneIndex: iu32) -> vec */ + /* fn subgroupBroadcast[T : fiu32_f16](value: T, @const sourceLaneIndex: iu32) -> T */ + /* fn subgroupBroadcast[N : num, T : fiu32_f16](value: vec, @const sourceLaneIndex: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(554), + /* overloads */ OverloadIndex(758), }, { /* [127] */ - /* fn subgroupShuffleXor[T : fiu32_f16](value: T, mask: u32) -> T */ - /* fn subgroupShuffleXor[N : num, T : fiu32_f16](value: vec, mask: u32) -> vec */ + /* fn subgroupBroadcastFirst[T : fiu32_f16](value: T) -> T */ + /* fn subgroupBroadcastFirst[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(558), + /* overloads */ OverloadIndex(760), }, { /* [128] */ - /* fn subgroupShuffleUp[T : fiu32_f16](value: T, delta: u32) -> T */ - /* fn subgroupShuffleUp[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ + /* fn subgroupShuffle[T : fiu32_f16](value: T, sourceLaneIndex: iu32) -> T */ + /* fn subgroupShuffle[N : num, T : fiu32_f16](value: vec, sourceLaneIndex: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(560), + /* overloads */ OverloadIndex(762), }, { /* [129] */ - /* fn subgroupShuffleDown[T : fiu32_f16](value: T, delta: u32) -> T */ - /* fn subgroupShuffleDown[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ + /* fn subgroupShuffleXor[T : fiu32_f16](value: T, mask: u32) -> T */ + /* fn subgroupShuffleXor[N : num, T : fiu32_f16](value: vec, mask: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(560), + /* overloads */ OverloadIndex(764), }, { /* [130] */ - /* fn subgroupAdd[T : fiu32_f16](value: T) -> T */ - /* fn subgroupAdd[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupShuffleUp[T : fiu32_f16](value: T, delta: u32) -> T */ + /* fn subgroupShuffleUp[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(766), }, { /* [131] */ - /* fn subgroupInclusiveAdd[T : fiu32_f16](value: T) -> T */ - /* fn subgroupInclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupShuffleDown[T : fiu32_f16](value: T, delta: u32) -> T */ + /* fn subgroupShuffleDown[N : num, T : fiu32_f16](value: vec, delta: u32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(766), }, { /* [132] */ - /* fn subgroupExclusiveAdd[T : fiu32_f16](value: T) -> T */ - /* fn subgroupExclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupAdd[T : fiu32_f16](value: T) -> T */ + /* fn subgroupAdd[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(760), }, { /* [133] */ - /* fn subgroupMul[T : fiu32_f16](value: T) -> T */ - /* fn subgroupMul[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupInclusiveAdd[T : fiu32_f16](value: T) -> T */ + /* fn subgroupInclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(760), }, { /* [134] */ - /* fn subgroupInclusiveMul[T : fiu32_f16](value: T) -> T */ - /* fn subgroupInclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupExclusiveAdd[T : fiu32_f16](value: T) -> T */ + /* fn subgroupExclusiveAdd[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(760), }, { /* [135] */ - /* fn subgroupExclusiveMul[T : fiu32_f16](value: T) -> T */ - /* fn subgroupExclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupMul[T : fiu32_f16](value: T) -> T */ + /* fn subgroupMul[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(760), }, { /* [136] */ - /* fn subgroupAnd[T : iu32](value: T) -> T */ - /* fn subgroupAnd[N : num, T : iu32](value: vec) -> vec */ + /* fn subgroupInclusiveMul[T : fiu32_f16](value: T) -> T */ + /* fn subgroupInclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(562), + /* overloads */ OverloadIndex(760), }, { /* [137] */ - /* fn subgroupOr[T : iu32](value: T) -> T */ - /* fn subgroupOr[N : num, T : iu32](value: vec) -> vec */ + /* fn subgroupExclusiveMul[T : fiu32_f16](value: T) -> T */ + /* fn subgroupExclusiveMul[N : num, T : fiu32_f16](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(562), + /* overloads */ OverloadIndex(760), }, { /* [138] */ - /* fn subgroupXor[T : iu32](value: T) -> T */ - /* fn subgroupXor[N : num, T : iu32](value: vec) -> vec */ + /* fn subgroupAnd[T : iu32](value: T) -> T */ + /* fn subgroupAnd[N : num, T : iu32](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(562), + /* overloads */ OverloadIndex(768), }, { /* [139] */ - /* fn subgroupMin[T : fiu32_f16](value: T) -> T */ - /* fn subgroupMin[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupOr[T : iu32](value: T) -> T */ + /* fn subgroupOr[N : num, T : iu32](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(768), }, { /* [140] */ - /* fn subgroupMax[T : fiu32_f16](value: T) -> T */ - /* fn subgroupMax[N : num, T : fiu32_f16](value: vec) -> vec */ + /* fn subgroupXor[T : iu32](value: T) -> T */ + /* fn subgroupXor[N : num, T : iu32](value: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(556), + /* overloads */ OverloadIndex(768), }, { /* [141] */ - /* fn subgroupAll(bool) -> bool */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(628), + /* fn subgroupMin[T : fiu32_f16](value: T) -> T */ + /* fn subgroupMin[N : num, T : fiu32_f16](value: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(760), }, { /* [142] */ - /* fn subgroupAny(bool) -> bool */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(628), + /* fn subgroupMax[T : fiu32_f16](value: T) -> T */ + /* fn subgroupMax[N : num, T : fiu32_f16](value: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(760), }, { /* [143] */ - /* fn quadBroadcast[T : fiu32_f16](e: T, @const id: iu32) -> T */ - /* fn quadBroadcast[N : num, T : fiu32_f16](e: vec, @const id: iu32) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(564), + /* fn subgroupAll(bool) -> bool */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(835), }, { /* [144] */ - /* fn quadSwapX[T : fiu32_f16](e: T) -> T */ - /* fn quadSwapX[N : num, T : fiu32_f16](e: vec) -> vec */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(566), + /* fn subgroupAny(bool) -> bool */ + /* num overloads */ 1, + /* overloads */ OverloadIndex(835), }, { /* [145] */ - /* fn quadSwapY[T : fiu32_f16](e: T) -> T */ - /* fn quadSwapY[N : num, T : fiu32_f16](e: vec) -> vec */ + /* fn quadBroadcast[T : fiu32_f16](e: T, @const id: iu32) -> T */ + /* fn quadBroadcast[N : num, T : fiu32_f16](e: vec, @const id: iu32) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(566), + /* overloads */ OverloadIndex(770), }, { /* [146] */ - /* fn quadSwapDiagonal[T : fiu32_f16](e: T) -> T */ - /* fn quadSwapDiagonal[N : num, T : fiu32_f16](e: vec) -> vec */ + /* fn quadSwapX[T : fiu32_f16](e: T) -> T */ + /* fn quadSwapX[N : num, T : fiu32_f16](e: vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(566), + /* overloads */ OverloadIndex(772), }, { /* [147] */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, readable>, u32, @const bool, @test_value(8) u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, readable>, u32, @const bool, @test_value(8) u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, readable>, u32, @const bool, @test_value(8) u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, readable>, u32, @const bool, @test_value(8) u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, readable>, u32, @const bool, @test_value(8) u32) -> T */ - /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, readable>, u32, @const bool, @test_value(8) u32) -> T */ - /* num overloads */ 6, - /* overloads */ OverloadIndex(366), + /* fn quadSwapY[T : fiu32_f16](e: T) -> T */ + /* fn quadSwapY[N : num, T : fiu32_f16](e: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(772), }, { /* [148] */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, writable>, u32, subgroup_matrix, @const bool, @test_value(8) u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, writable>, u32, subgroup_matrix, @const bool, @test_value(8) u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, writable>, u32, subgroup_matrix, @const bool, @test_value(8) u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, writable>, u32, subgroup_matrix, @const bool, @test_value(8) u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, writable>, u32, subgroup_matrix, @const bool, @test_value(8) u32) */ - /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, writable>, u32, subgroup_matrix, @const bool, @test_value(8) u32) */ - /* num overloads */ 6, - /* overloads */ OverloadIndex(372), + /* fn quadSwapDiagonal[T : fiu32_f16](e: T) -> T */ + /* fn quadSwapDiagonal[N : num, T : fiu32_f16](e: vec) -> vec */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(772), }, { /* [149] */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, readable>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, readable>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, readable>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, readable>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, readable>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */ + /* fn subgroupMatrixLoad>[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, readable>, offset: u32, @const col_major: bool, @test_value(8) stride: u32) -> T */ + /* num overloads */ 6, + /* overloads */ OverloadIndex(572), + }, + { + /* [150] */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, @test_value(8) stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : fiu32_f16, C : num, R : num, AC : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, @test_value(8) stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, @test_value(8) stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, @test_value(8) stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : i8, C : num, R : num, AC : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, @test_value(8) stride: u32) */ + /* fn subgroupMatrixStore[K : subgroup_matrix_kind, S : u8, C : num, R : num, AC : num](ptr, writable>, offset: u32, subgroup_matrix, @const col_major: bool, @test_value(8) stride: u32) */ + /* num overloads */ 6, + /* overloads */ OverloadIndex(578), + }, + { + /* [151] */ /* fn subgroupMatrixMultiply[T : f16, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiply[T : f32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiply[T : iu8, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiply[T : iu32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* num overloads */ 4, - /* overloads */ OverloadIndex(388), + /* overloads */ OverloadIndex(594), }, { - /* [150] */ + /* [152] */ /* fn subgroupMatrixMultiplyAccumulate[T : f16, TR : f32_f16, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiplyAccumulate[T : f32, TR : f32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiplyAccumulate[T : iu8, TR : iu32_iu8, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* fn subgroupMatrixMultiplyAccumulate[T : iu32, TR : iu32, C : num, R : num, K : num](subgroup_matrix, subgroup_matrix, subgroup_matrix) -> subgroup_matrix */ /* num overloads */ 4, - /* overloads */ OverloadIndex(392), + /* overloads */ OverloadIndex(598), }, { - /* [151] */ + /* [153] */ /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix, @test_value(8) s: T) -> subgroup_matrix */ /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, @test_value(8) s: i32) -> subgroup_matrix */ /* fn subgroupMatrixScalarAdd[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, @test_value(8) s: u32) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(422), + /* overloads */ OverloadIndex(628), }, { - /* [152] */ + /* [154] */ /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix, @test_value(8) s: T) -> subgroup_matrix */ /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, @test_value(8) s: i32) -> subgroup_matrix */ /* fn subgroupMatrixScalarSubtract[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, @test_value(8) s: u32) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(422), + /* overloads */ OverloadIndex(628), }, { - /* [153] */ + /* [155] */ /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, T : fiu32_f16, C : num, R : num](m: subgroup_matrix, @test_value(8) s: T) -> subgroup_matrix */ /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, @test_value(8) s: i32) -> subgroup_matrix */ /* fn subgroupMatrixScalarMultiply[K : subgroup_matrix_kind, C : num, R : num](m: subgroup_matrix, @test_value(8) s: u32) -> subgroup_matrix */ /* num overloads */ 3, - /* overloads */ OverloadIndex(422), + /* overloads */ OverloadIndex(628), }, { - /* [154] */ + /* [156] */ /* fn bufferView[R : read, AS : uniform_or_storage, N : num](ptr, R>, offset: u32) -> ptr */ /* fn bufferView[R : read, AS : uniform_or_storage, N : num](ptr, R>, offset: i32) -> ptr */ /* fn bufferView[W : read_write, AS : workgroup_or_storage, N : num](ptr, W>, offset: u32) -> ptr */ @@ -14779,63 +21622,73 @@ constexpr IntrinsicInfo kBuiltins[] = { /* fn bufferView[W : read_write, AS : workgroup_or_storage](ptr, offset: u32) -> ptr */ /* fn bufferView[W : read_write, AS : workgroup_or_storage](ptr, offset: i32) -> ptr */ /* num overloads */ 8, - /* overloads */ OverloadIndex(334), + /* overloads */ OverloadIndex(540), }, { - /* [155] */ + /* [157] */ /* fn bufferLength[R : read, AS : uniform_or_storage, N : num](ptr, R>) -> u32 */ /* fn bufferLength[W : read_write, AS : workgroup_or_storage, N : num](ptr, W>) -> u32 */ /* fn bufferLength[R : read, AS : uniform_or_storage](ptr) -> u32 */ /* fn bufferLength[W : read_write, AS : workgroup_or_storage](ptr) -> u32 */ /* num overloads */ 4, - /* overloads */ OverloadIndex(396), - }, - { - /* [156] */ - /* fn print[T : concrete_scalar](T) */ - /* fn print[N : num, T : concrete_scalar](vec) */ - /* num overloads */ 2, - /* overloads */ OverloadIndex(568), - }, - { - /* [157] */ - /* fn __tint_materialize[T](T) -> T */ - /* num overloads */ 1, - /* overloads */ OverloadIndex(629), + /* overloads */ OverloadIndex(602), }, { /* [158] */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ - /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ + /* fn print[T : concrete_scalar](T) */ + /* fn print[N : num, T : concrete_scalar](vec) */ + /* num overloads */ 2, + /* overloads */ OverloadIndex(774), + }, + { + /* [159] */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ + /* fn hasResource>[K : iu32, I : iu32](index: I) -> bool */ /* fn hasResource>[K : fiu32, I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ /* fn hasResource[I : iu32](index: I) -> bool */ - /* num overloads */ 12, - /* overloads */ OverloadIndex(184), + /* fn hasResource[I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : texture_filter, I : iu32](index: I) -> bool */ + /* fn hasResource>[F : sampler_filter, I : iu32](index: I) -> bool */ + /* num overloads */ 20, + /* overloads */ OverloadIndex(331), }, { - /* [159] */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ - /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ + /* [160] */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ + /* fn getResource>[K : iu32, I : iu32](index: I) -> T */ /* fn getResource>[K : fiu32, I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ /* fn getResource[I : iu32](index: I) -> T */ - /* num overloads */ 12, - /* overloads */ OverloadIndex(196), + /* fn getResource[I : iu32](index: I) -> S */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : texture_filter, I : iu32](index: I) -> T */ + /* fn getResource>[F : sampler_filter, I : iu32](index: I) -> S */ + /* num overloads */ 20, + /* overloads */ OverloadIndex(351), }, }; @@ -14844,34 +21697,34 @@ constexpr IntrinsicInfo kUnaryOperators[] = { /* [0] */ /* op &[S : address_space, T, A : access](ref) -> ptr */ /* num overloads */ 1, - /* overloads */ OverloadIndex(630), + /* overloads */ OverloadIndex(836), }, { /* [1] */ /* op *[S : address_space, T, A : access](ptr) -> ref */ /* num overloads */ 1, - /* overloads */ OverloadIndex(631), + /* overloads */ OverloadIndex(837), }, { /* [2] */ /* op !(bool) -> bool */ /* op ![N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(570), + /* overloads */ OverloadIndex(776), }, { /* [3] */ /* op ~[T : ia_iu32](T) -> T */ /* op ~[T : ia_iu32, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(572), + /* overloads */ OverloadIndex(778), }, { /* [4] */ /* op -[T : fia_fi32_f16](T) -> T */ /* op -[T : fia_fi32_f16, N : num](vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(574), + /* overloads */ OverloadIndex(780), }, }; constexpr uint8_t kUnaryOperatorAnd = 0; @@ -14889,7 +21742,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op +[T : fia_fiu32_f16, N : num](T, vec) -> vec */ /* op +[T : fa_f32_f16, N : num, M : num](mat, mat) -> mat */ /* num overloads */ 5, - /* overloads */ OverloadIndex(378), + /* overloads */ OverloadIndex(584), }, { /* [1] */ @@ -14899,7 +21752,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op -[T : fia_fiu32_f16, N : num](T, vec) -> vec */ /* op -[T : fa_f32_f16, N : num, M : num](mat, mat) -> mat */ /* num overloads */ 5, - /* overloads */ OverloadIndex(383), + /* overloads */ OverloadIndex(589), }, { /* [2] */ @@ -14913,7 +21766,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op *[T : fa_f32_f16, C : num, R : num](vec, mat) -> vec */ /* op *[T : fa_f32_f16, K : num, C : num, R : num](mat, mat) -> mat */ /* num overloads */ 9, - /* overloads */ OverloadIndex(228), + /* overloads */ OverloadIndex(442), }, { /* [3] */ @@ -14922,7 +21775,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op /[T : fia_fiu32_f16, N : num](vec, T) -> vec */ /* op /[T : fia_fiu32_f16, N : num](T, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(400), + /* overloads */ OverloadIndex(606), }, { /* [4] */ @@ -14931,14 +21784,14 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op %[T : fia_fiu32_f16, N : num](vec, T) -> vec */ /* op %[T : fia_fiu32_f16, N : num](T, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(404), + /* overloads */ OverloadIndex(610), }, { /* [5] */ /* op ^[T : ia_iu32](T, T) -> T */ /* op ^[T : ia_iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(576), + /* overloads */ OverloadIndex(782), }, { /* [6] */ @@ -14947,7 +21800,7 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op &[T : ia_iu32](T, T) -> T */ /* op &[T : ia_iu32, N : num](vec, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(408), + /* overloads */ OverloadIndex(614), }, { /* [7] */ @@ -14956,75 +21809,75 @@ constexpr IntrinsicInfo kBinaryOperators[] = { /* op |[T : ia_iu32](T, T) -> T */ /* op |[T : ia_iu32, N : num](vec, vec) -> vec */ /* num overloads */ 4, - /* overloads */ OverloadIndex(412), + /* overloads */ OverloadIndex(618), }, { /* [8] */ /* op &&(bool, bool) -> bool */ /* num overloads */ 1, - /* overloads */ OverloadIndex(632), + /* overloads */ OverloadIndex(838), }, { /* [9] */ /* op ||(bool, bool) -> bool */ /* num overloads */ 1, - /* overloads */ OverloadIndex(633), + /* overloads */ OverloadIndex(839), }, { /* [10] */ /* op ==[T : scalar](T, T) -> bool */ /* op ==[T : scalar, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(578), + /* overloads */ OverloadIndex(784), }, { /* [11] */ /* op !=[T : scalar](T, T) -> bool */ /* op !=[T : scalar, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(580), + /* overloads */ OverloadIndex(786), }, { /* [12] */ /* op <[T : fia_fiu32_f16](T, T) -> bool */ /* op <[T : fia_fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(582), + /* overloads */ OverloadIndex(788), }, { /* [13] */ /* op >[T : fia_fiu32_f16](T, T) -> bool */ /* op >[T : fia_fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(584), + /* overloads */ OverloadIndex(790), }, { /* [14] */ /* op <=[T : fia_fiu32_f16](T, T) -> bool */ /* op <=[T : fia_fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(586), + /* overloads */ OverloadIndex(792), }, { /* [15] */ /* op >=[T : fia_fiu32_f16](T, T) -> bool */ /* op >=[T : fia_fiu32_f16, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(588), + /* overloads */ OverloadIndex(794), }, { /* [16] */ /* op <<[T : ia_iu32](T, u32) -> T */ /* op <<[T : ia_iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(590), + /* overloads */ OverloadIndex(796), }, { /* [17] */ /* op >>[T : ia_iu32](T, u32) -> T */ /* op >>[T : ia_iu32, N : num](vec, vec) -> vec */ /* num overloads */ 2, - /* overloads */ OverloadIndex(592), + /* overloads */ OverloadIndex(798), }, }; constexpr uint8_t kBinaryOperatorPlus = 0; @@ -15053,7 +21906,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor i32(i32) -> i32 */ /* conv i32[T : scalar_no_i32](T) -> i32 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(425), + /* overloads */ OverloadIndex(631), }, { /* [1] */ @@ -15061,7 +21914,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor u32(u32) -> u32 */ /* conv u32[T : scalar_no_u32](T) -> u32 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(428), + /* overloads */ OverloadIndex(634), }, { /* [2] */ @@ -15069,7 +21922,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor f32(f32) -> f32 */ /* conv f32[T : scalar_no_f32](T) -> f32 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(431), + /* overloads */ OverloadIndex(637), }, { /* [3] */ @@ -15077,7 +21930,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor f16(f16) -> f16 */ /* conv f16[T : scalar_no_f16](T) -> f16 */ /* num overloads */ 3, - /* overloads */ OverloadIndex(434), + /* overloads */ OverloadIndex(640), }, { /* [4] */ @@ -15085,7 +21938,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor bool(bool) -> bool */ /* conv bool[T : scalar_no_bool](T) -> bool */ /* num overloads */ 3, - /* overloads */ OverloadIndex(437), + /* overloads */ OverloadIndex(643), }, { /* [5] */ @@ -15103,7 +21956,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv vec2[U : scalar_no_u32](vec2) -> vec2 */ /* conv vec2[U : scalar_no_bool](vec2) -> vec2 */ /* num overloads */ 13, - /* overloads */ OverloadIndex(159), + /* overloads */ OverloadIndex(419), }, { /* [6] */ @@ -15116,8 +21969,8 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor vec3(x: T, y: T, z: T) -> vec3 */ /* ctor vec3[T : scalar](x: T, y: T, z: T) -> vec3 */ /* ctor vec3(xy: vec2, z: T) -> vec3 */ - /* ctor vec3[T : scalar](xy: vec2, z: T) -> vec3 */ /* ctor vec3(x: T, yz: vec2) -> vec3 */ + /* ctor vec3[T : scalar](xy: vec2, z: T) -> vec3 */ /* ctor vec3[T : scalar](x: T, yz: vec2) -> vec3 */ /* conv vec3[U : scalar_no_f32](vec3) -> vec3 */ /* conv vec3[U : scalar_no_f16](vec3) -> vec3 */ @@ -15125,7 +21978,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv vec3[U : scalar_no_u32](vec3) -> vec3 */ /* conv vec3[U : scalar_no_bool](vec3) -> vec3 */ /* num overloads */ 17, - /* overloads */ OverloadIndex(97), + /* overloads */ OverloadIndex(371), }, { /* [7] */ @@ -15138,16 +21991,16 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* ctor vec4(x: T, y: T, z: T, w: T) -> vec4 */ /* ctor vec4[T : scalar](x: T, y: T, z: T, w: T) -> vec4 */ /* ctor vec4(xy: vec2, z: T, w: T) -> vec4 */ - /* ctor vec4[T : scalar](xy: vec2, z: T, w: T) -> vec4 */ /* ctor vec4(x: T, yz: vec2, w: T) -> vec4 */ - /* ctor vec4[T : scalar](x: T, yz: vec2, w: T) -> vec4 */ /* ctor vec4(x: T, y: T, zw: vec2) -> vec4 */ - /* ctor vec4[T : scalar](x: T, y: T, zw: vec2) -> vec4 */ /* ctor vec4(xy: vec2, zw: vec2) -> vec4 */ - /* ctor vec4[T : scalar](xy: vec2, zw: vec2) -> vec4 */ /* ctor vec4(xyz: vec3, w: T) -> vec4 */ - /* ctor vec4[T : scalar](xyz: vec3, w: T) -> vec4 */ /* ctor vec4(x: T, zyw: vec3) -> vec4 */ + /* ctor vec4[T : scalar](xy: vec2, z: T, w: T) -> vec4 */ + /* ctor vec4[T : scalar](x: T, yz: vec2, w: T) -> vec4 */ + /* ctor vec4[T : scalar](x: T, y: T, zw: vec2) -> vec4 */ + /* ctor vec4[T : scalar](xy: vec2, zw: vec2) -> vec4 */ + /* ctor vec4[T : scalar](xyz: vec3, w: T) -> vec4 */ /* ctor vec4[T : scalar](x: T, zyw: vec3) -> vec4 */ /* conv vec4[U : scalar_no_f32](vec4) -> vec4 */ /* conv vec4[U : scalar_no_f16](vec4) -> vec4 */ @@ -15155,7 +22008,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv vec4[U : scalar_no_u32](vec4) -> vec4 */ /* conv vec4[U : scalar_no_bool](vec4) -> vec4 */ /* num overloads */ 25, - /* overloads */ OverloadIndex(72), + /* overloads */ OverloadIndex(306), }, { /* [8] */ @@ -15169,7 +22022,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat2x2(mat2x2) -> mat2x2 */ /* conv mat2x2(mat2x2) -> mat2x2 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(237), + /* overloads */ OverloadIndex(451), }, { /* [9] */ @@ -15183,7 +22036,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat2x3(mat2x3) -> mat2x3 */ /* conv mat2x3(mat2x3) -> mat2x3 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(246), + /* overloads */ OverloadIndex(460), }, { /* [10] */ @@ -15197,7 +22050,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat2x4(mat2x4) -> mat2x4 */ /* conv mat2x4(mat2x4) -> mat2x4 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(255), + /* overloads */ OverloadIndex(469), }, { /* [11] */ @@ -15211,7 +22064,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat3x2(mat3x2) -> mat3x2 */ /* conv mat3x2(mat3x2) -> mat3x2 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(264), + /* overloads */ OverloadIndex(478), }, { /* [12] */ @@ -15225,7 +22078,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat3x3(mat3x3) -> mat3x3 */ /* conv mat3x3(mat3x3) -> mat3x3 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(273), + /* overloads */ OverloadIndex(487), }, { /* [13] */ @@ -15239,7 +22092,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat3x4(mat3x4) -> mat3x4 */ /* conv mat3x4(mat3x4) -> mat3x4 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(282), + /* overloads */ OverloadIndex(496), }, { /* [14] */ @@ -15253,7 +22106,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat4x2(mat4x2) -> mat4x2 */ /* conv mat4x2(mat4x2) -> mat4x2 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(291), + /* overloads */ OverloadIndex(505), }, { /* [15] */ @@ -15267,7 +22120,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat4x3(mat4x3) -> mat4x3 */ /* conv mat4x3(mat4x3) -> mat4x3 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(300), + /* overloads */ OverloadIndex(514), }, { /* [16] */ @@ -15281,7 +22134,7 @@ constexpr IntrinsicInfo kConstructorsAndConverters[] = { /* conv mat4x4(mat4x4) -> mat4x4 */ /* conv mat4x4(mat4x4) -> mat4x4 */ /* num overloads */ 9, - /* overloads */ OverloadIndex(309), + /* overloads */ OverloadIndex(523), }, }; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.cc b/3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.cc new file mode 100644 index 000000000..a716c0ab6 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.cc @@ -0,0 +1,266 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#include "src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.h" + +#include + +#include "src/tint/lang/core/ir/builder.h" +#include "src/tint/lang/core/ir/module.h" +#include "src/tint/lang/core/ir/validator.h" +#include "src/tint/lang/core/type/array.h" +#include "src/tint/lang/core/type/atomic.h" +#include "src/tint/lang/core/type/pointer.h" +#include "src/tint/lang/core/type/struct.h" +#include "src/tint/lang/core/type/u64.h" +#include "src/tint/lang/core/type/vector.h" +#include "src/tint/lang/wgsl/ir/builtin_call.h" +#include "src/tint/utils/containers/hashmap.h" +#include "src/tint/utils/ice/ice.h" +#include "src/tint/utils/rtti/switch.h" + +using namespace tint::core::fluent_types; // NOLINT +using namespace tint::core::number_suffixes; // NOLINT + +namespace tint::wgsl::ir::transform { + +namespace { + +/// PIMPL state for the transform. +struct State { + /// The IR module. + core::ir::Module& ir; + /// The direction of the transform. + AtomicVec2uU64Direction direction; + + /// The IR builder. + core::ir::Builder b{ir}; + + /// The type manager. + core::type::Manager& ty{ir.Types()}; + + /// The symbol table. + tint::SymbolTable& sym{ir.symbols}; + + /// Map from original type to a new type with atomic types rewritten. + Hashmap rewritten_types{}; + + /// Process the module. + void Process() { + // Find storage buffers that contain atomic types that need to be converted. + for (auto inst : *ir.root_block) { + if (auto* var = inst->As()) { + auto* ptr = var->Result()->Type()->As(); + if (!ptr || ptr->AddressSpace() != core::AddressSpace::kStorage) { + continue; + } + auto* store_type = RewriteType(ptr->StoreType()); + if (store_type != ptr->StoreType()) { + var->Result()->SetType(ty.ptr(storage, store_type)); + var->Result()->ForEachUseSorted( + [&](core::ir::Usage use) { Replace(use.instruction); }); + } + } + } + + for (auto func : ir.functions) { + for (auto* param : func->Params()) { + auto* ptr = param->Type()->As(); + if (!ptr || ptr->AddressSpace() != core::AddressSpace::kStorage) { + continue; + } + auto* store_type = RewriteType(ptr->StoreType()); + if (store_type != ptr->StoreType()) { + param->SetType(ty.ptr(storage, store_type)); + param->ForEachUseSorted([&](core::ir::Usage use) { Replace(use.instruction); }); + } + } + } + } + + void Replace(core::ir::Instruction* inst) { + b.InsertBefore(inst, [&] { + tint::Switch( + inst, + [&](core::ir::Access* access) { + auto* replacement = RewriteType(access->Result()->Type()); + if (replacement != access->Result()->Type()) { + access->Result()->SetType(replacement); + access->Result()->ForEachUseSorted( + [&](core::ir::Usage use) { Replace(use.instruction); }); + } + }, + [&](core::ir::Let* let) { + auto* replacement = RewriteType(let->Result()->Type()); + if (replacement != let->Result()->Type()) { + let->Result()->SetType(replacement); + let->Result()->ForEachUseSorted( + [&](core::ir::Usage use) { Replace(use.instruction); }); + } + }, + [&](wgsl::ir::BuiltinCall* call) { + if (direction != AtomicVec2uU64Direction::kToU64) { + return; + } + if (call->Func() != wgsl::BuiltinFn::kAtomicStoreMax && + call->Func() != wgsl::BuiltinFn::kAtomicStoreMin) { + return; + } + + auto* ptr_atomic = call->Args()[0]; + auto* param_vec2u = call->Args()[1]; + + auto as_ptr = ptr_atomic->Type()->As(); + TINT_ASSERT(as_ptr); + TINT_ASSERT(as_ptr->AddressSpace() == core::AddressSpace::kStorage); + auto as_store = as_ptr->StoreType()->As(); + TINT_ASSERT(as_store->Type()->Is()); + + auto casted_u64 = b.Bitcast(ty.u64(), param_vec2u); + + core::BuiltinFn core_fn = call->Func() == wgsl::BuiltinFn::kAtomicStoreMax + ? core::BuiltinFn::kAtomicStoreMax + : core::BuiltinFn::kAtomicStoreMin; + + b.CallWithResult(call->DetachResult(), core_fn, ptr_atomic, casted_u64); + call->Destroy(); + }, + [&](core::ir::CoreBuiltinCall* call) { + if (direction != AtomicVec2uU64Direction::kFromU64) { + return; + } + if (call->Func() != core::BuiltinFn::kAtomicStoreMax && + call->Func() != core::BuiltinFn::kAtomicStoreMin) { + return; + } + + auto* ptr_atomic = call->Args()[0]; + auto* param_u64 = call->Args()[1]; + + auto as_ptr = ptr_atomic->Type()->As(); + TINT_ASSERT(as_ptr); + TINT_ASSERT(as_ptr->AddressSpace() == core::AddressSpace::kStorage); + auto as_store = as_ptr->StoreType()->As(); + TINT_ASSERT(as_store->Type()->Is()); + + auto* as_inst_result = param_u64->As(); + TINT_ASSERT(as_inst_result); + auto* as_inst = as_inst_result->Instruction(); + TINT_ASSERT(as_inst); + auto* as_bitcast = as_inst->As(); + TINT_ASSERT(as_bitcast); + TINT_ASSERT(as_bitcast->Result()->NumUsages() == 1); + param_u64 = as_bitcast->Val(); + as_bitcast->Destroy(); + + wgsl::BuiltinFn wgsl_fn = call->Func() == core::BuiltinFn::kAtomicStoreMax + ? wgsl::BuiltinFn::kAtomicStoreMax + : wgsl::BuiltinFn::kAtomicStoreMin; + + b.CallWithResult(call->DetachResult(), wgsl_fn, + ptr_atomic, param_u64); + call->Destroy(); + }); + }); + } + + const core::type::Type* RewriteType(const core::type::Type* type) { + return rewritten_types.GetOrAdd(type, [&] { + return tint::Switch( + type, + [&](const core::type::Array* arr) { + if (arr->ConstantCount().has_value()) { + return ty.array(RewriteType(arr->ElemType()), arr->ConstantCount().value()); + } + return ty.runtime_array(RewriteType(arr->ElemType())); + }, + [&](const core::type::Struct* str) -> const core::type::Type* { + bool needs_rewrite = false; + Vector new_members; + for (auto* member : str->Members()) { + auto* new_member_ty = RewriteType(member->Type()); + new_members.Push(ty.Get( + member->Name(), new_member_ty, member->Index(), member->Offset(), + member->Align(), member->Size(), core::IOAttributes{})); + if (new_member_ty != member->Type()) { + needs_rewrite = true; + } + } + + if (!needs_rewrite) { + return str; + } + + auto* new_str = ty.Get(sym.New(str->Name().Name() + "_a64"), + std::move(new_members), str->Size()); + for (auto flag : str->StructFlags()) { + new_str->SetStructFlag(flag); + } + return new_str; + }, + [&](const core::type::Pointer* ptr) { + return ty.ptr(ptr->AddressSpace(), RewriteType(ptr->StoreType())); + }, + [&](const core::type::Atomic* atomic) -> const core::type::Type* { + if (direction == AtomicVec2uU64Direction::kToU64) { + auto* vec = atomic->Type()->As(); + if (vec && vec->Width() == 2 && vec->Type()->Is()) { + return ty.atomic(ty.u64()); + } + return atomic; + } + + if (atomic->Type()->Is()) { + return ty.atomic(ty.vec2u()); + } + return atomic; + }, + [&](Default) { return type; }); + }); + } +}; + +} // namespace + +Result AtomicVec2uToFromU64(core::ir::Module& ir, AtomicVec2uU64Direction direction) { + auto result = + core::ir::ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + }, + "transform::AtomicVec2uToFromU64"); + if (result != Success) { + return result; + } + + State{ir, direction}.Process(); + + return Success; +} + +} // namespace tint::wgsl::ir::transform diff --git a/3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.h b/3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.h new file mode 100644 index 000000000..94ffeade0 --- /dev/null +++ b/3rdparty/dawn/src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.h @@ -0,0 +1,53 @@ +// Copyright 2026 The Dawn & Tint Authors +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are met: +// +// 1. Redistributions of source code must retain the above copyright notice, this +// list of conditions and the following disclaimer. +// +// 2. Redistributions in binary form must reproduce the above copyright notice, +// this list of conditions and the following disclaimer in the documentation +// and/or other materials provided with the distribution. +// +// 3. Neither the name of the copyright holder nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#ifndef SRC_TINT_LANG_WGSL_IR_ATOMIC_VEC2U_TO_FROM_U64_H_ +#define SRC_TINT_LANG_WGSL_IR_ATOMIC_VEC2U_TO_FROM_U64_H_ + +#include "src/tint/lang/core/ir/module.h" +#include "src/tint/utils/result.h" + +namespace tint::wgsl::ir::transform { + +/// The direction of the atomic_vec2u_u64 transform. +enum class AtomicVec2uU64Direction { + /// `atomic>` to `atomic` + kToU64, + /// `atomic` to `atomic>` + kFromU64, +}; + +/// AtomicVec2uU64 is a transform that converts `atomic>` to and from `atomic`. +/// This is used to polyfill 64-bit atomic operations which are not natively supported in WGSL. +/// @param mod the module to transform +/// @param direction the direction of the transformation +/// @return success or failure +Result AtomicVec2uToFromU64(core::ir::Module& mod, AtomicVec2uU64Direction direction); + +} // namespace tint::wgsl::ir::transform + +#endif // SRC_TINT_LANG_WGSL_IR_ATOMIC_VEC2U_TO_FROM_U64_H_ diff --git a/3rdparty/dawn/src/tint/lang/wgsl/program/program.h b/3rdparty/dawn/src/tint/lang/wgsl/program/program.h index 4c13e211f..d7844f192 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/program/program.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/program/program.h @@ -37,6 +37,9 @@ #include "src/tint/utils/symbol/symbol_table.h" // Forward Declarations +namespace tint { +class ProgramBuilder; +} namespace tint::ast { class Module; } // namespace tint::ast diff --git a/3rdparty/dawn/src/tint/lang/wgsl/program/program_builder.h b/3rdparty/dawn/src/tint/lang/wgsl/program/program_builder.h index b1592d656..dfcb994dc 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/program/program_builder.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/program/program_builder.h @@ -33,7 +33,6 @@ #include #include "src/tint/api/common/override_id.h" - #include "src/tint/lang/core/constant/manager.h" #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/fluent_types.h" diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.cc b/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.cc index 0400b512a..feaae180e 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.cc @@ -410,6 +410,10 @@ class DependencyScanner { kTexelFormat, /// Access kAccess, + /// Texture filterable + kTextureFilterable, + /// Sampler filtering + kSamplerFiltering, }; /// BuiltinInfo stores information about the builtin that a symbol represents. @@ -426,7 +430,9 @@ class DependencyScanner { core::BuiltinType, core::AddressSpace, core::TexelFormat, - core::Access> + core::Access, + core::TextureFilterable, + core::SamplerFiltering> value = {}; }; @@ -455,6 +461,14 @@ class DependencyScanner { access != core::Access::kUndefined) { return BuiltinInfo{BuiltinType::kAccess, access}; } + if (auto filterable = core::ParseTextureFilterable(symbol.NameView()); + filterable != core::TextureFilterable::kUndefined) { + return BuiltinInfo{BuiltinType::kTextureFilterable, filterable}; + } + if (auto filterable = core::ParseSamplerFiltering(symbol.NameView()); + filterable != core::SamplerFiltering::kUndefined) { + return BuiltinInfo{BuiltinType::kSamplerFiltering, filterable}; + } return BuiltinInfo{}; }); } @@ -489,6 +503,14 @@ class DependencyScanner { graph_.resolved_identifiers.Add( from, ResolvedIdentifier(builtin_info.Value())); break; + case BuiltinType::kTextureFilterable: + graph_.resolved_identifiers.Add( + from, ResolvedIdentifier(builtin_info.Value())); + break; + case BuiltinType::kSamplerFiltering: + graph_.resolved_identifiers.Add( + from, ResolvedIdentifier(builtin_info.Value())); + break; } return; } diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.h b/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.h index fb9220334..059011d7d 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/dependency_graph.h @@ -124,6 +124,24 @@ class ResolvedIdentifier { return core::TexelFormat::kUndefined; } + /// @return the texture filterable if the ResolvedIdentifier holds type::TextureFilterable, + /// otherwise core::TextureFilterable::kUndefined + core::TextureFilterable TextureFilterable() const { + if (auto n = std::get_if(&value_)) { + return *n; + } + return core::TextureFilterable::kUndefined; + } + + /// @return the texture filterable if the ResolvedIdentifier holds type::SamplerFiltering, + /// otherwise core::SamplerFiltering::kUndefined + core::SamplerFiltering SamplerFiltering() const { + if (auto n = std::get_if(&value_)) { + return *n; + } + return core::SamplerFiltering::kUndefined; + } + /// @param value the value to compare the ResolvedIdentifier to /// @return true if the ResolvedIdentifier is equal to @p value template @@ -151,7 +169,9 @@ class ResolvedIdentifier { core::Access, core::AddressSpace, core::BuiltinType, - core::TexelFormat> + core::TexelFormat, + core::TextureFilterable, + core::SamplerFiltering> value_; }; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.cc b/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.cc index 442b764ae..1957a6124 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.cc @@ -52,7 +52,10 @@ #include "src/tint/lang/core/type/sampled_texture.h" #include "src/tint/lang/core/type/sampler.h" #include "src/tint/lang/core/type/storage_texture.h" +#include "src/tint/lang/core/type/swizzle_view.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/core/type/u8.h" +#include "src/tint/lang/core/type/vector.h" #include "src/tint/lang/wgsl/ast/alias.h" #include "src/tint/lang/wgsl/ast/assignment_statement.h" #include "src/tint/lang/wgsl/ast/attribute.h" @@ -113,6 +116,7 @@ #include "src/tint/utils/text/string.h" #include "src/tint/utils/text/styled_text.h" #include "src/tint/utils/text/text_style.h" +#include "src/utils/compiler.h" using namespace tint::core::fluent_types; // NOLINT @@ -179,7 +183,7 @@ bool Resolver::Resolve() { if (result && !disable_uniformity_analysis) { // Run the uniformity analysis, which requires a complete semantic module. const bool subgroup_uniformity = - allowed_features_.features.count(wgsl::LanguageFeature::kSubgroupUniformity); + allowed_features_.features.contains(wgsl::LanguageFeature::kSubgroupUniformity); if (!AnalyzeUniformity(b, dependencies_, subgroup_uniformity)) { return false; } @@ -1518,11 +1522,6 @@ sem::BuiltinEnumExpression* Resolver::AddressSpaceExpression return address_space_expr; } -sem::BuiltinEnumExpression* Resolver::TexelFormatExpression( - const ast::Expression* expr) { - return sem_.AsTexelFormat(Expression(expr)); -} - sem::BuiltinEnumExpression* Resolver::AccessExpression(const ast::Expression* expr) { return sem_.AsAccess(Expression(expr)); } @@ -1706,6 +1705,17 @@ const sem::ValueExpression* Resolver::Load(const sem::ValueExpression* expr) { return nullptr; } + // When requested, wrap a swizzle view in an ephemeral Load in order to correctly resolve types + // for validation. Because this sem::Load will not become a true load during lowering to IR, + // they are not registered. + if (auto* swizzle_view = expr->Type()->As()) { + auto* load = + b.create(expr, swizzle_view->StoreType(), current_statement_, expr->Stage()); + b.Sem().Replace(expr->Declaration(), load); + + return load; + } + if (!expr->Type()->Is()) { // Expression is not a reference type, so cannot be loaded. Just return expr. return expr; @@ -1731,7 +1741,7 @@ const sem::ValueExpression* Resolver::Materialize( auto* decl = expr->Declaration(); auto* concrete_ty = ConcreteType(expr->Type(), target_type, decl->source); - if (!concrete_ty) { + if (!concrete_ty || concrete_ty->DeepestElement()->Is()) { return expr; // Does not require materialization } @@ -1766,33 +1776,19 @@ const sem::ValueExpression* Resolver::Materialize( } template -bool Resolver::MaybeMaterializeAndLoadArguments(Vector& args, - const sem::CallTarget* target) { +bool Resolver::MaybeMaterializeArguments(Vector& args, + const sem::CallTarget* target) { for (size_t i = 0, n = std::min(args.Length(), target->Parameters().Length()); i < n; i++) { const auto* param_ty = target->Parameters()[i]->Type(); - if (ShouldMaterializeArgument(param_ty)) { - auto* materialized = Materialize(args[i], param_ty); - if (!materialized) { - return false; - } - args[i] = materialized; - } - if (!param_ty->Is()) { - auto* load = Load(args[i]); - if (!load) { - return false; - } - args[i] = load; + auto* materialized = Materialize(args[i], param_ty); + if (!materialized) { + return false; } + args[i] = materialized; } return true; } -bool Resolver::ShouldMaterializeArgument(const core::type::Type* parameter_ty) const { - const auto* param_el_ty = parameter_ty->DeepestElement(); - return (param_el_ty != nullptr) && !param_el_ty->Is(); -} - bool Resolver::Convert(const core::constant::Value*& c, const core::type::Type* target_ty, const Source& source) { @@ -1855,8 +1851,7 @@ sem::ValueExpression* Resolver::IndexAccessor(const ast::IndexAccessorExpression const core::type::Type* storage_ty = object_ty->UnwrapRef(); if (memory_view) { if (memory_view->Is() && - (allowed_features_.features.count(wgsl::LanguageFeature::kPointerCompositeAccess) == - 0u)) { + !allowed_features_.features.contains(wgsl::LanguageFeature::kPointerCompositeAccess)) { AddError(expr->source) << "pointer composite access requires the pointer_composite_access language " "feature, which is not allowed in the current environment"; @@ -1888,8 +1883,8 @@ sem::ValueExpression* Resolver::IndexAccessor(const ast::IndexAccessorExpression return nullptr; } - // If we're extracting from a memory view, we return a reference. - if (memory_view) { + // If we're extracting from a memory view that will need to be loaded, we return a reference. + if (memory_view && !memory_view->Is()) { ty = b.create(memory_view->AddressSpace(), ty, memory_view->Access()); } @@ -1900,7 +1895,7 @@ sem::ValueExpression* Resolver::IndexAccessor(const ast::IndexAccessorExpression stage = core::EvaluationStage::kNotEvaluated; } else { if (auto* idx_val = idx->ConstantValue()) { - auto res = const_eval_.Index(obj->ConstantValue(), obj->Type(), idx_val, + auto res = const_eval_.Index(obj->ConstantValue(), storage_ty, idx_val, idx->Declaration()->source); if (res != Success) { return nullptr; @@ -1929,7 +1924,7 @@ sem::Call* Resolver::Call(const ast::CallExpression* expr) { args.Reserve(expr->args.Length()); auto args_stage = core::EvaluationStage::kConstant; for (size_t i = 0; i < expr->args.Length(); i++) { - auto* arg = sem_.GetVal(expr->args[i]); + const auto* arg = Load(sem_.GetVal(expr->args[i])); if (!arg) { return nullptr; } @@ -1941,7 +1936,8 @@ sem::Call* Resolver::Call(const ast::CallExpression* expr) { // sem::ValueConversion call for a CtorConvIntrinsic with an optional template argument type. auto ctor_or_conv = [&](CtorConvIntrinsic ty, VectorRef template_args) -> sem::Call* { - auto arg_tys = tint::Transform(args, [](auto* arg) { return arg->Type()->UnwrapRef(); }); + auto arg_tys = tint::Transform(args, [&](auto* arg) { return arg->Type(); }); + auto match = intrinsic_table_.Lookup(ty, template_args, arg_tys, args_stage); if (match != Success) { AddError(expr->source) << match.Failure(); @@ -1973,7 +1969,7 @@ sem::Call* Resolver::Call(const ast::CallExpression* expr) { }); } - if (!MaybeMaterializeAndLoadArguments(args, target_sem)) { + if (!MaybeMaterializeArguments(args, target_sem)) { return nullptr; } @@ -2067,7 +2063,7 @@ sem::Call* Resolver::Call(const ast::CallExpression* expr) { return b.create(arr, std::move(params), args_stage); }); - if (DAWN_UNLIKELY(!MaybeMaterializeAndLoadArguments(args, call_target))) { + if (DAWN_UNLIKELY(!MaybeMaterializeArguments(args, call_target))) { return nullptr; } @@ -2092,7 +2088,7 @@ sem::Call* Resolver::Call(const ast::CallExpression* expr) { return b.create(str, std::move(params), args_stage); }); - if (DAWN_UNLIKELY(!MaybeMaterializeAndLoadArguments(args, call_target))) { + if (DAWN_UNLIKELY(!MaybeMaterializeArguments(args, call_target))) { return nullptr; } @@ -2122,7 +2118,7 @@ sem::Call* Resolver::Call(const ast::CallExpression* expr) { core::EvaluationStage::kRuntime); }); - if (DAWN_UNLIKELY(!MaybeMaterializeAndLoadArguments(args, call_target))) { + if (DAWN_UNLIKELY(!MaybeMaterializeArguments(args, call_target))) { return nullptr; } @@ -2176,8 +2172,7 @@ sem::Call* Resolver::Call(const ast::CallExpression* expr) { case core::BuiltinType::kArray: { auto el_count = b.create(static_cast(args.Length())); - auto arg_tys = - tint::Transform(args, [](auto* arg) { return arg->Type()->UnwrapRef(); }); + auto arg_tys = tint::Transform(args, [](auto* arg) { return arg->Type(); }); auto el_ty = core::type::Type::Common(arg_tys); if (DAWN_UNLIKELY(!el_ty)) { AddError(expr->source) @@ -2259,7 +2254,8 @@ sem::Call* Resolver::BuiltinCall(const ast::CallExpression* expr, } } - auto arg_tys = tint::Transform(args, [](auto* arg) { return arg->Type()->UnwrapRef(); }); + auto arg_tys = tint::Transform(args, [&](auto* arg) { return arg->Type(); }); + auto overload = intrinsic_table_.Lookup(fn, tmpl_args, arg_tys, arg_stage); if (overload != Success) { AddError(expr->source) << overload.Failure(); @@ -2288,22 +2284,26 @@ sem::Call* Resolver::BuiltinCall(const ast::CallExpression* expr, supported_stages, *overload->info); }); - if (fn == wgsl::BuiltinFn::kTintMaterialize) { - args[0] = Materialize(args[0]); - if (!args[0]) { - return nullptr; - } - } else { - // Materialize arguments if the parameter type is not abstract - if (!MaybeMaterializeAndLoadArguments(args, target)) { - return nullptr; - } + // Materialize arguments if the parameter type is not abstract + if (!MaybeMaterializeArguments(args, target)) { + return nullptr; } if (target->IsDeprecated()) { AddWarning(expr->source) << "use of deprecated builtin"; } + // Check evaluation stage of parameters that are required to be const-expressions. + for (uint32_t i = 0; i < overload->parameters.Length(); i++) { + const auto& p = overload->parameters[i]; + if (p.is_const && args[i]->Stage() != core::EvaluationStage::kConstant) { + AddError(args[i]->Declaration()->source) + << "the " << style::Variable(p.usage) << " argument of " + << style::Function(target->str()) << " must be a const-expression"; + return nullptr; + } + } + // If the builtin is @const, and all arguments have constant values, evaluate the builtin // now. const core::constant::Value* value = nullptr; @@ -2384,6 +2384,8 @@ sem::Call* Resolver::BuiltinCall(const ast::CallExpression* expr, case wgsl::BuiltinFn::kAtomicSub: case wgsl::BuiltinFn::kAtomicMax: case wgsl::BuiltinFn::kAtomicMin: + case wgsl::BuiltinFn::kAtomicStoreMax: + case wgsl::BuiltinFn::kAtomicStoreMin: case wgsl::BuiltinFn::kAtomicAnd: case wgsl::BuiltinFn::kAtomicOr: case wgsl::BuiltinFn::kAtomicXor: @@ -2415,7 +2417,6 @@ sem::Call* Resolver::BuiltinCall(const ast::CallExpression* expr, } break; } - default: break; } @@ -2520,6 +2521,8 @@ const core::type::Type* Resolver::BuiltinType(core::BuiltinType builtin_ty, return check_no_tmpl_args(I8(ident)); case core::BuiltinType::kU8: return check_no_tmpl_args(U8(ident)); + case core::BuiltinType::kU16: + return check_no_tmpl_args(U16(ident)); case core::BuiltinType::kVec2: return VecT(ident, builtin_ty, 2); case core::BuiltinType::kVec3: @@ -2613,8 +2616,7 @@ const core::type::Type* Resolver::BuiltinType(core::BuiltinType builtin_ty, case core::BuiltinType::kPtr: return Ptr(ident); case core::BuiltinType::kSampler: - return check_no_tmpl_args( - b.create(core::type::SamplerKind::kSampler)); + return Sampler(ident); case core::BuiltinType::kSamplerComparison: return check_no_tmpl_args( b.create(core::type::SamplerKind::kComparisonSampler)); @@ -2754,6 +2756,11 @@ const core::type::U8* Resolver::U8(const ast::Identifier* ident) { return validator_.CheckU8Enabled(ident->source) ? b.create() : nullptr; } +const core::type::U16* Resolver::U16(const ast::Identifier* ident) { + AddError(ident->source) << "u16 is unsupported in WGSL"; + return nullptr; +} + const core::type::Vector* Resolver::Vec(const ast::Identifier* ident, const core::type::Type* el, uint32_t n) { @@ -2952,9 +2959,42 @@ const core::type::Pointer* Resolver::Ptr(const ast::Identifier* ident) { return out; } +const core::type::Sampler* Resolver::Sampler(const ast::Identifier* ident) { + if (!allowed_features_.features.contains(wgsl::LanguageFeature::kFilteringParameters)) { + return DAWN_LIKELY(CheckNotTemplated("type", ident)) + ? b.create(core::type::SamplerKind::kSampler) + : nullptr; + } + + core::SamplerFiltering filtering = core::SamplerFiltering::kUndefined; + if (auto* tmpl_ident = ident->As()) { + // If we are templated, then there must be at least one template item + if (!CheckTemplatedIdentifierArgs(tmpl_ident, 1)) { + return nullptr; + } + + if (auto resolved = dependencies_.resolved_identifiers.Get(ident)) { + if (auto* ast_node = resolved->Node()) { + sem_.NoteDeclarationSource(ast_node); + } + } + + filtering = sem_.GetSamplerFiltering(tmpl_ident->arguments[0]); + if (DAWN_UNLIKELY(filtering == core::SamplerFiltering::kUndefined)) { + return nullptr; + } + } + return b.create(core::type::SamplerKind::kSampler, filtering); +} + const core::type::SampledTexture* Resolver::SampledTexture(const ast::Identifier* ident, core::type::TextureDimension dim) { - auto* tmpl_ident = TemplatedIdentifier(ident, 1); + uint32_t allowed_args = 1; + if (allowed_features_.features.contains(wgsl::LanguageFeature::kFilteringParameters)) { + allowed_args = 2; + } + + auto* tmpl_ident = TemplatedIdentifier(ident, 1, allowed_args); if (DAWN_UNLIKELY(!tmpl_ident)) { return nullptr; } @@ -2964,7 +3004,15 @@ const core::type::SampledTexture* Resolver::SampledTexture(const ast::Identifier return nullptr; } - auto* out = b.create(dim, ty_expr); + core::TextureFilterable filterable = core::TextureFilterable::kUndefined; + if (tmpl_ident->arguments.Length() > 1) { + filterable = sem_.GetTextureFilterable(tmpl_ident->arguments[1]); + if (DAWN_UNLIKELY(filterable == core::TextureFilterable::kUndefined)) { + return nullptr; + } + } + + auto* out = b.create(dim, ty_expr, filterable); return validator_.SampledTexture(out, ident->source) ? out : nullptr; } @@ -3172,7 +3220,7 @@ sem::Call* Resolver::FunctionCall(const ast::CallExpression* expr, sem::Function* target, VectorRef args_in) { Vector args = std::move(args_in); - if (!MaybeMaterializeAndLoadArguments(args, target)) { + if (!MaybeMaterializeArguments(args, target)) { return nullptr; } @@ -3424,6 +3472,22 @@ sem::Expression* Resolver::Identifier(const ast::IdentifierExpression* expr) { : nullptr; } + if (auto filterable = resolved->TextureFilterable(); + filterable != core::TextureFilterable::kUndefined) { + return CheckNotTemplated("texture filterable", ident) + ? b.create>( + expr, current_statement_, filterable) + : nullptr; + } + + if (auto filterable = resolved->SamplerFiltering(); + filterable != core::SamplerFiltering::kUndefined) { + return CheckNotTemplated("sampler filtering", ident) + ? b.create>( + expr, current_statement_, filterable) + : nullptr; + } + if (resolved->Unresolved()) { return b.create(expr, current_statement_); } @@ -3443,8 +3507,7 @@ sem::ValueExpression* Resolver::MemberAccessor(const ast::MemberAccessorExpressi const core::type::Type* storage_ty = object_ty->UnwrapRef(); if (memory_view) { if (memory_view->Is() && - (allowed_features_.features.count(wgsl::LanguageFeature::kPointerCompositeAccess) == - 0u)) { + !allowed_features_.features.contains(wgsl::LanguageFeature::kPointerCompositeAccess)) { AddError(expr->source) << "pointer composite access requires the pointer_composite_access language " "feature, which is not allowed in the current environment"; @@ -3545,37 +3608,38 @@ sem::ValueExpression* Resolver::MemberAccessor(const ast::MemberAccessorExpressi return nullptr; } - const sem::ValueExpression* obj_expr = object; if (size == 1) { // A single element swizzle is just the type of the vector. ty = vec->Type(); - // If we're extracting from a memory view, we return a reference. - if (memory_view) { + + // If we're extracting from a memory view that will need to be loaded, we return a + // reference. + if (memory_view && !memory_view->Is()) { ty = b.create(memory_view->AddressSpace(), ty, memory_view->Access()); + } else if (memory_view && memory_view->Is() && + allowed_features_.features.contains( + wgsl::LanguageFeature::kSwizzleAssignment)) { + // If the swizzle assignment language feature is enabled, a single element + // swizzle into a swizzle view must also be a swizzle view. + ty = b.create(memory_view->AddressSpace(), ty, + memory_view->Access(), vec->Width(), + static_cast(size)); } } else { - // The vector will have a number of components equal to the length of - // the swizzle. - ty = b.create(vec->Type(), static_cast(size)); - - if (obj_expr->Type()->Is()) { - // If the LHS is a pointer, the load rule is invoked. We special case this - // because our usual handling of implicit loads assumes the expression has - // reference type. This expression also has an implicit dereference before the - // load, but we have no way of representing that, so we create the load directly - // from the pointer expression. - auto* load = - b.create(obj_expr, current_statement_, obj_expr->Stage()); - b.Sem().Replace(obj_expr->Declaration(), load); - - // Register the load for the alias analysis. - RegisterLoad(obj_expr); - - obj_expr = load; + if (memory_view) { + auto* vec_ty = + b.create(vec->Type(), static_cast(size)); + ty = b.create(memory_view->AddressSpace(), vec_ty, + memory_view->Access(), vec->Width(), + static_cast(size)); + // The object being swizzled will be loaded during IR generation, so we register + // the load ahead of time here for the purpose of alias analysis. + RegisterLoad(object); } else { - // The load rule is invoked before the swizzle, if necessary. - obj_expr = Load(obj_expr); + // The vector will have a number of components equal to the length of + // the swizzle. + ty = b.create(vec->Type(), static_cast(size)); } } const core::constant::Value* val = nullptr; @@ -3586,7 +3650,7 @@ sem::ValueExpression* Resolver::MemberAccessor(const ast::MemberAccessorExpressi } val = res.Get(); } - return b.create(expr, ty, current_statement_, val, obj_expr, + return b.create(expr, ty, current_statement_, val, object, std::move(swizzle), root_ident); }, @@ -3615,8 +3679,7 @@ sem::ValueExpression* Resolver::Binary(const ast::BinaryExpression* expr) { } auto stage = core::EarliestStage(lhs->Stage(), rhs->Stage()); - auto overload = intrinsic_table_.Lookup(expr->op, lhs->Type()->UnwrapRef(), - rhs->Type()->UnwrapRef(), stage, false); + auto overload = intrinsic_table_.Lookup(expr->op, lhs->Type(), rhs->Type(), stage, false); if (overload != Success) { AddError(expr->source) << overload.Failure(); return nullptr; @@ -3627,17 +3690,13 @@ sem::ValueExpression* Resolver::Binary(const ast::BinaryExpression* expr) { // Parameter types auto* lhs_ty = overload->parameters[0].type; auto* rhs_ty = overload->parameters[1].type; - if (ShouldMaterializeArgument(lhs_ty)) { - lhs = Materialize(lhs, lhs_ty); - if (!lhs) { - return nullptr; - } + lhs = Materialize(lhs, lhs_ty); + if (!lhs) { + return nullptr; } - if (ShouldMaterializeArgument(rhs_ty)) { - rhs = Materialize(rhs, rhs_ty); - if (!rhs) { - return nullptr; - } + rhs = Materialize(rhs, rhs_ty); + if (!rhs) { + return nullptr; } if (!validator_.BinaryExpression(expr, expr->op, lhs, rhs)) { @@ -3741,28 +3800,24 @@ sem::ValueExpression* Resolver::UnaryOp(const ast::UnaryOpExpression* unary) { break; default: { - stage = expr->Stage(); - auto overload = intrinsic_table_.Lookup(unary->op, expr_ty->UnwrapRef(), stage); - if (overload != Success) { - AddError(unary->source) << overload.Failure(); - return nullptr; - } - ty = overload->return_type; - auto* param_ty = overload->parameters[0].type; - if (ShouldMaterializeArgument(param_ty)) { - expr = Materialize(expr, param_ty); - if (!expr) { - return nullptr; - } - } - - // Load expr if it is a reference expr = Load(expr); if (!expr) { return nullptr; } stage = expr->Stage(); + auto overload = intrinsic_table_.Lookup(unary->op, expr->Type(), stage); + if (overload != Success) { + AddError(unary->source) << overload.Failure(); + return nullptr; + } + ty = overload->return_type; + auto* param_ty = overload->parameters[0].type; + expr = Materialize(expr, param_ty); + if (!expr) { + return nullptr; + } + if (stage == core::EvaluationStage::kConstant) { if (auto const_eval_fn = overload->const_eval_fn) { auto r = (const_eval_.*const_eval_fn)(ty, Vector{expr->ConstantValue()}, @@ -4125,7 +4180,7 @@ bool Resolver::Enable(const ast::Enable* enable) { for (auto* ext : enable->extensions) { Mark(ext); enabled_extensions_.Add(ext->name); - if (!allowed_features_.extensions.count(ext->name)) { + if (!allowed_features_.extensions.contains(ext->name)) { AddError(ext->source) << "extension " << style::Code(ext->name) << " is not allowed in the current environment"; return false; @@ -4136,7 +4191,7 @@ bool Resolver::Enable(const ast::Enable* enable) { bool Resolver::Requires(const ast::Requires* req) { for (auto feature : req->features) { - if (!allowed_features_.features.count(feature)) { + if (!allowed_features_.features.contains(feature)) { AddError(req->source) << "language feature " << style::Code(wgsl::ToString(feature)) << " is not allowed in the current environment"; return false; @@ -4679,18 +4734,21 @@ sem::Statement* Resolver::AssignmentStatement(const ast::AssignmentStatement* st const bool is_phony_assignment = stmt->lhs->Is(); const auto* rhs = ValueExpression(stmt->rhs); - if (!rhs) { - return false; - } if (!is_phony_assignment) { - rhs = Materialize(rhs, lhs->Type()->UnwrapRef()); - if (!rhs) { - return false; + const core::type::Type* lhs_type = nullptr; + if (lhs->Type()->Is() && + allowed_features_.features.contains(wgsl::LanguageFeature::kSwizzleAssignment)) { + lhs_type = lhs->Type()->As()->StoreType(); + } else { + lhs_type = lhs->Type()->UnwrapRef(); } + + rhs = Load(Materialize(rhs, lhs_type)); + } else { + rhs = Load(rhs); } - rhs = Load(rhs); if (!rhs) { return false; } @@ -4746,7 +4804,7 @@ sem::Statement* Resolver::CompoundAssignmentStatement( return false; } - const auto* rhs = ValueExpression(stmt->rhs); + const auto* rhs = Load(ValueExpression(stmt->rhs)); if (!rhs) { return false; } @@ -4755,15 +4813,22 @@ sem::Statement* Resolver::CompoundAssignmentStatement( auto stage = core::EarliestStage(lhs->Stage(), rhs->Stage()); - auto overload = intrinsic_table_.Lookup(stmt->op, lhs->Type()->UnwrapRef(), - rhs->Type()->UnwrapRef(), stage, true); + auto* lhs_type = lhs->Type(); + if (auto* lhs_swizzle_view = lhs_type->As(); + lhs_swizzle_view && + allowed_features_.features.contains(wgsl::LanguageFeature::kSwizzleAssignment)) { + lhs_type = lhs_swizzle_view->StoreType(); + } else { + lhs_type = lhs_type->UnwrapRef(); + } + + auto overload = intrinsic_table_.Lookup(stmt->op, lhs_type, rhs->Type(), stage, true); if (overload != Success) { AddError(stmt->source) << overload.Failure(); return false; } - // Load or materialize the RHS if necessary. - rhs = Load(Materialize(rhs, overload->parameters[1].type)); + rhs = Materialize(rhs, overload->parameters[1].type); if (!rhs) { return false; } @@ -4879,6 +4944,21 @@ bool Resolver::ApplyAddressSpaceUsageToType(core::AddressSpace address_space, address_space != core::AddressSpace::kWorkgroup) { AddError(usage) << "buffer types cannot be declared in the " << style::Enum(address_space) << " address space"; + return false; + } + + if (address_space != core::AddressSpace::kStorage) { + if (auto as_atomic = ty->As()) { + auto atomic_ty = as_atomic->Type(); + if (auto* vec = atomic_ty->As()) { + if (vec->Width() == 2 && vec->Type()->Is()) { + AddError(usage) + << "atomic variables of type " << style::Type(sem_.TypeNameOf(atomic_ty)) + << " can only be in " << style::Enum("storage") << " address space"; + return false; + } + } + } } if (core::IsHostShareable(address_space) && !ty->IsHostShareable()) { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.h b/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.h index aa4e74f38..1895bf16a 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/resolver.h @@ -59,7 +59,6 @@ namespace tint::ast { class IndexAccessorExpression; class BinaryExpression; -class BitcastExpression; class CallExpression; class CallStatement; class CaseStatement; @@ -83,7 +82,6 @@ class ForLoopStatement; class IfStatement; class LoopStatement; class Statement; -class StructMember; class SwitchStatement; class ValueConstructor; class ValueConversion; @@ -172,6 +170,9 @@ class Resolver { /// @returns a new u8, if the subgroup matrix extension is enabled, otherwise nullptr const core::type::U8* U8(const ast::Identifier* ident); + /// @returns nullptr since u16 is not enabled in WGSL. + const core::type::U16* U16(const ast::Identifier* ident); + /// @returns a vector with the element type @p el of width @p n resolved from the identifier @p /// ident. const core::type::Vector* Vec(const ast::Identifier* ident, @@ -211,6 +212,9 @@ class Resolver { /// @returns a pointer resolved from the templated identifier @p ident. const core::type::Pointer* Ptr(const ast::Identifier* ident); + /// @returns a sampler resolved from the templated identifier @p ident + const core::type::Sampler* Sampler(const ast::Identifier* ident); + /// @returns a sampled texture resolved from the templated identifier @p ident with the /// dimensions @p dim. const core::type::SampledTexture* SampledTexture(const ast::Identifier* ident, @@ -259,13 +263,6 @@ class Resolver { sem::BuiltinEnumExpression* AddressSpaceExpression( const ast::Expression* expr); - /// @returns the call of Expression() cast to a - /// sem::BuiltinEnumExpression. If the sem::Expression is not a - /// sem::BuiltinEnumExpression, then an error diagnostic is raised and - /// nullptr is returned. - sem::BuiltinEnumExpression* TexelFormatExpression( - const ast::Expression* expr); - /// @returns the call of Expression() cast to a sem::BuiltinEnumExpression*. /// If the sem::Expression is not a sem::BuiltinEnumExpression*, then an error /// diagnostic is raised and nullptr is returned. @@ -334,18 +331,11 @@ class Resolver { const sem::ValueExpression* Materialize(const sem::ValueExpression* expr, const core::type::Type* target_type = nullptr); - /// For each argument in `args`: - /// * Calls Materialize() passing the argument and the corresponding parameter type. - /// * Calls Load() passing the argument, iff the corresponding parameter type is not a - /// reference type. + /// Call Materialize on each argument for the corresponding parameter type. /// @returns true on success, false on failure. template - bool MaybeMaterializeAndLoadArguments(Vector& args, - const sem::CallTarget* target); - - /// @returns true if an argument of an abstract numeric type, passed to a parameter of type - /// `parameter_ty` should be materialized. - bool ShouldMaterializeArgument(const core::type::Type* parameter_ty) const; + bool MaybeMaterializeArguments(Vector& args, + const sem::CallTarget* target); /// Converts `c` to `target_ty` /// @returns true on success, false on failure. diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.cc b/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.cc index 3c62c6f1c..aeebc66a5 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.cc @@ -120,6 +120,12 @@ StyledText SemHelper::Describe(const sem::Expression* expr) const { [&](const sem::BuiltinEnumExpression* fmt) { text << "texel format " << style::Enum(fmt->Value()); }, + [&](const sem::BuiltinEnumExpression* filterable) { + text << "texture filterable " << style::Enum(filterable->Value()); + }, + [&](const sem::BuiltinEnumExpression* filtering) { + text << "sampler filtering " << style::Enum(filtering->Value()); + }, [&](const UnresolvedIdentifier* ui) { auto name = ui->Identifier()->identifier->symbol.NameView(); text << "unresolved identifier " << style::Code(name); diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.h b/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.h index bbe186a32..357393326 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/sem_helper.h @@ -149,6 +149,64 @@ class SemHelper { return core::AddressSpace::kUndefined; } + /// @param expr the semantic node + /// @returns nullptr if @p expr is nullptr, or @p expr cast to + /// sem::BuiltinEnumExpression if the cast is successful, otherwise an + /// error diagnostic is raised. + sem::BuiltinEnumExpression* AsTextureFilterable( + sem::Expression* expr) const { + if (DAWN_LIKELY(expr)) { + auto* enum_expr = expr->As>(); + if (DAWN_LIKELY(enum_expr)) { + return enum_expr; + } + ErrorUnexpectedExprKind(expr, "texture filterable", core::kTextureFilterableStrings); + } + return nullptr; + } + + /// GetTextureFilterable is a helper for obtaining the texture filterability for the given AST + /// expression. Raises an error diagnostic and returns core::TextureFilterable::kUndefined if + /// the semantic node is not a sem::BuiltinEnumExpression + /// @param ast the ast node to get the address space + /// @returns the sem node for @p ast + core::TextureFilterable GetTextureFilterable(const ast::Expression* ast) const { + auto* expr = AsTextureFilterable(Get(ast)); + if (DAWN_LIKELY(expr)) { + return expr->Value(); + } + return core::TextureFilterable::kUndefined; + } + + /// @param expr the semantic node + /// @returns nullptr if @p expr is nullptr, or @p expr cast to + /// sem::BuiltinEnumExpression if the cast is successful, otherwise an + /// error diagnostic is raised. + sem::BuiltinEnumExpression* AsSamplerFiltering( + sem::Expression* expr) const { + if (DAWN_LIKELY(expr)) { + auto* enum_expr = expr->As>(); + if (DAWN_LIKELY(enum_expr)) { + return enum_expr; + } + ErrorUnexpectedExprKind(expr, "sampler filtering", core::kSamplerFilteringStrings); + } + return nullptr; + } + + /// GetSamplerFiltering is a helper for obtaining the sampler filtering for the given AST + /// expression. Raises an error diagnostic and returns core::SamplerFiltering::kUndefined if + /// the semantic node is not a sem::BuiltinEnumExpression + /// @param ast the ast node to get the address space + /// @returns the sem node for @p ast + core::SamplerFiltering GetSamplerFiltering(const ast::Expression* ast) const { + auto* expr = AsSamplerFiltering(Get(ast)); + if (DAWN_LIKELY(expr)) { + return expr->Value(); + } + return core::SamplerFiltering::kUndefined; + } + /// @param expr the semantic node /// @returns nullptr if @p expr is nullptr, or @p expr cast to /// sem::BuiltinEnumExpression if the cast is successful, otherwise an diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/uniformity.cc b/3rdparty/dawn/src/tint/lang/wgsl/resolver/uniformity.cc index 4702ba27e..92a14ecd7 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/uniformity.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/uniformity.cc @@ -32,6 +32,7 @@ #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/reference.h" +#include "src/tint/lang/core/type/swizzle_view.h" #include "src/tint/lang/wgsl/program/program_builder.h" #include "src/tint/lang/wgsl/resolver/dependency_graph.h" #include "src/tint/lang/wgsl/sem/block_statement.h" @@ -42,6 +43,7 @@ #include "src/tint/lang/wgsl/sem/info.h" #include "src/tint/lang/wgsl/sem/load.h" #include "src/tint/lang/wgsl/sem/loop_statement.h" +#include "src/tint/lang/wgsl/sem/member_accessor_expression.h" #include "src/tint/lang/wgsl/sem/statement.h" #include "src/tint/lang/wgsl/sem/switch_statement.h" #include "src/tint/lang/wgsl/sem/value_constructor.h" diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.cc b/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.cc index 59bdf9e9b..fff0f5fff 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.cc @@ -27,7 +27,6 @@ #include "src/tint/lang/wgsl/resolver/validator.h" -#include #include #include #include @@ -39,6 +38,7 @@ #include "src/tint/lang/core/type/binding_array.h" #include "src/tint/lang/core/type/i8.h" #include "src/tint/lang/core/type/input_attachment.h" +#include "src/tint/lang/core/type/memory_view.h" #include "src/tint/lang/core/type/multisampled_texture.h" #include "src/tint/lang/core/type/pointer.h" #include "src/tint/lang/core/type/reference.h" @@ -46,8 +46,11 @@ #include "src/tint/lang/core/type/sampler.h" #include "src/tint/lang/core/type/storage_texture.h" #include "src/tint/lang/core/type/subgroup_matrix.h" +#include "src/tint/lang/core/type/swizzle_view.h" #include "src/tint/lang/core/type/texture_dimension.h" +#include "src/tint/lang/core/type/u16.h" #include "src/tint/lang/core/type/u8.h" +#include "src/tint/lang/core/type/vector.h" #include "src/tint/lang/wgsl/ast/alias.h" #include "src/tint/lang/wgsl/ast/assignment_statement.h" #include "src/tint/lang/wgsl/ast/blend_src_attribute.h" @@ -58,7 +61,6 @@ #include "src/tint/lang/wgsl/ast/return_statement.h" #include "src/tint/lang/wgsl/ast/subgroup_size_attribute.h" #include "src/tint/lang/wgsl/ast/switch_statement.h" -#include "src/tint/lang/wgsl/ast/traverse_expressions.h" #include "src/tint/lang/wgsl/ast/variable_decl_statement.h" #include "src/tint/lang/wgsl/ast/workgroup_attribute.h" #include "src/tint/lang/wgsl/sem/array.h" @@ -79,6 +81,7 @@ #include "src/tint/lang/wgsl/sem/while_statement.h" #include "src/tint/utils/internal_limits.h" #include "src/tint/utils/math/math.h" +#include "src/tint/utils/rtti/switch.h" #include "src/tint/utils/text/string.h" #include "src/tint/utils/text/styled_text.h" #include "src/tint/utils/text/text_style.h" @@ -226,7 +229,7 @@ bool Validator::IsPlain(const core::type::Type* type) const { return type->IsAnyOf() && - !type->IsAnyOf(); + !type->IsAnyOf(); } // https://gpuweb.github.io/gpuweb/wgsl.html#storable-types @@ -309,14 +312,29 @@ bool Validator::Enables(VectorRef enables) const { bool Validator::Atomic(const ast::TemplatedIdentifier* a, const core::type::Atomic* s) const { // https://gpuweb.github.io/gpuweb/wgsl/#atomic-types - // T must be either u32 or i32. - if (!s->Type()->IsAnyOf()) { - AddError(a->arguments[0]->source) - << style::Type("atomic") << " only supports " << style::Type("i32") << " or " - << style::Type("u32") << " types"; - return false; + // T must be either u32, i32 or (with atomic_vec2u_min_max extension) vec2u. + if (s->Type()->IsAnyOf()) { + return true; } - return true; + + if (auto* vec = s->Type()->As()) { + if (vec->Width() == 2 && vec->Type()->Is()) { + if (enabled_extensions_.Contains(wgsl::Extension::kAtomicVec2UMinMax)) { + return true; + } else { + AddError(a->arguments[0]->source) + << " The type " << style::Type("atomic") + << " cannot be used without the extension " + << style::Code(wgsl::Extension::kAtomicVec2UMinMax); + return false; + } + } + } + + AddError(a->arguments[0]->source) + << style::Type("atomic") << " only supports " << style::Type("i32") << ", " + << style::Type("u32") << " or " << style::Type("vec2u") << " types"; + return false; } bool Validator::Pointer(const ast::TemplatedIdentifier* a, const core::type::Pointer* s) const { @@ -357,8 +375,8 @@ bool Validator::Pointer(const ast::TemplatedIdentifier* a, const core::type::Poi bool Validator::StorageTexture(const core::type::StorageTexture* t, const Source& source) const { switch (t->Access()) { case core::Access::kRead: - if (allowed_features_.features.count( - wgsl::LanguageFeature::kReadonlyAndReadwriteStorageTextures) == 0u) { + if (!allowed_features_.features.contains( + wgsl::LanguageFeature::kReadonlyAndReadwriteStorageTextures)) { AddError(source) << "read-only storage textures require the " "readonly_and_readwrite_storage_textures language feature, " "which is not allowed in the current environment"; @@ -366,8 +384,8 @@ bool Validator::StorageTexture(const core::type::StorageTexture* t, const Source } break; case core::Access::kReadWrite: - if (allowed_features_.features.count( - wgsl::LanguageFeature::kReadonlyAndReadwriteStorageTextures) == 0u) { + if (!allowed_features_.features.contains( + wgsl::LanguageFeature::kReadonlyAndReadwriteStorageTextures)) { AddError(source) << "read-write storage textures require the " "readonly_and_readwrite_storage_textures language feature, " "which is not allowed in the current environment"; @@ -396,11 +414,18 @@ bool Validator::StorageTexture(const core::type::StorageTexture* t, const Source } bool Validator::SampledTexture(const core::type::SampledTexture* t, const Source& source) const { - if (!t->Type()->UnwrapRef()->IsAnyOf()) { + if (!t->Type()->IsAnyOf()) { AddError(source) << "texture_2d: type must be f32, i32 or u32"; return false; } + if (t->Filterable() != core::TextureFilterable::kUndefined && + !t->Type()->IsAnyOf()) { + AddError(source) << "texture filterability only applies to float textures, got '" + << sem_.TypeNameOf(t->Type()) << "'"; + return false; + } + return true; } @@ -458,7 +483,7 @@ bool Validator::InputAttachmentIndexAttribute(const ast::InputAttachmentIndexAtt } bool Validator::BindingArray(const core::type::BindingArray* t, const Source& source) const { - if (allowed_features_.features.count(wgsl::LanguageFeature::kSizedBindingArray) == 0) { + if (!allowed_features_.features.contains(wgsl::LanguageFeature::kSizedBindingArray)) { AddError(source) << "use of " << style::Type("binding_array") << " requires the " << style::Code("sized_binding_array") << "language feature, which is not allowed in the current environment"; @@ -496,7 +521,7 @@ bool Validator::SubgroupMatrix(const core::type::SubgroupMatrix* t, const Source } bool Validator::Buffer(const core::type::Buffer*, const Source& source) const { - if (!allowed_features_.features.count(wgsl::LanguageFeature::kBufferView)) { + if (!allowed_features_.features.contains(wgsl::LanguageFeature::kBufferView)) { AddError(source) << "use of " << style::Type("buffer") << " requires the buffer_view language feature, which is not allowed in " "the current environment"; @@ -507,7 +532,7 @@ bool Validator::Buffer(const core::type::Buffer*, const Source& source) const { } bool Validator::TexelBuffer(const core::type::TexelBuffer* t, const Source& source) const { - if (!allowed_features_.features.count(wgsl::LanguageFeature::kTexelBuffers)) { + if (!allowed_features_.features.contains(wgsl::LanguageFeature::kTexelBuffers)) { AddError(source) << "use of " << style::Type("texel_buffer") << " requires the texel_buffer language feature, which is not allowed " "in the current environment"; @@ -989,8 +1014,8 @@ bool Validator::Parameter(const sem::Variable* var) const { case core::AddressSpace::kStorage: case core::AddressSpace::kUniform: case core::AddressSpace::kWorkgroup: - ok = allowed_features_.features.count( - wgsl::LanguageFeature::kUnrestrictedPointerParameters) != 0; + ok = allowed_features_.features.contains( + wgsl::LanguageFeature::kUnrestrictedPointerParameters); break; default: break; @@ -1103,6 +1128,24 @@ bool Validator::BuiltinAttribute(const ast::BuiltinAttribute* attr, return false; } break; + case core::BuiltinValue::kGlobalInvocationIndex: + case core::BuiltinValue::kWorkgroupIndex: + if (!allowed_features_.features.contains(wgsl::LanguageFeature::kLinearIndexing)) { + AddError(attr->source) + << "use of " << style::Attribute("@builtin") + << style::Code("(", style::Enum(builtin), ")") << " attribute requires the " + << style::Code("linear_indexing") << " language feature"; + return false; + } + if (stage != ast::PipelineStage::kNone && + !(stage == ast::PipelineStage::kCompute && is_input)) { + is_stage_mismatch = true; + } + if (!type->Is()) { + err_builtin_type("u32"); + return false; + } + break; case core::BuiltinValue::kVertexIndex: case core::BuiltinValue::kInstanceIndex: if (stage != ast::PipelineStage::kNone && @@ -2021,7 +2064,7 @@ bool Validator::BuiltinCall(const sem::Call* call) const { // The `print()` builtin requires the chromium_print language feature to be available. if (auto* fn = call->Target()->As()) { if (fn->Fn() == wgsl::BuiltinFn::kPrint) { - if (!allowed_features_.features.count(wgsl::LanguageFeature::kChromiumPrint)) { + if (!allowed_features_.features.contains(wgsl::LanguageFeature::kChromiumPrint)) { AddError(call->Declaration()->source) << "the 'chromium_print' language feature is " "not allowed in the current environment"; return false; @@ -2173,43 +2216,40 @@ bool Validator::TextureBuiltinFn(const sem::Call* call) const { std::string func_name = builtin->str(); auto& signature = builtin->Signature(); - auto check_arg_is_constexpr = [&](core::ParameterUsage usage, int min, int max) { + auto check_const_arg_range = [&](core::ParameterUsage usage, int min, int max) { auto signed_index = signature.IndexOf(usage); if (signed_index < 0) { return true; } auto index = static_cast(signed_index); auto* arg = call->Arguments()[index]; - if (auto values = arg->ConstantValue()) { - if (auto* vector = values->Type()->As()) { - for (size_t i = 0; i < vector->Width(); i++) { - auto value = values->Index(i)->ValueAs(); - if (value < min || value > max) { - AddError(arg->Declaration()->source) - << "each component of the " << usage << " argument must be at least " - << min << " and at most " << max << ". " << usage << " component " << i - << " is " << value; - return false; - } - } - } else { - auto value = values->ValueAs(); + auto values = arg->ConstantValue(); + TINT_ASSERT(values); + if (auto* vector = values->Type()->As()) { + for (size_t i = 0; i < vector->Width(); i++) { + auto value = values->Index(i)->ValueAs(); if (value < min || value > max) { AddError(arg->Declaration()->source) - << "the " << usage << " argument must be at least " << min - << " and at most " << max << ". " << usage << " is " << value; + << "each component of the " << usage << " argument must be at least " << min + << " and at most " << max << ". " << usage << " component " << i << " is " + << value; return false; } } - return true; + } else { + auto value = values->ValueAs(); + if (value < min || value > max) { + AddError(arg->Declaration()->source) + << "the " << usage << " argument must be at least " << min << " and at most " + << max << ". " << usage << " is " << value; + return false; + } } - AddError(arg->Declaration()->source) - << "the " << usage << " argument must be a const-expression"; - return false; + return true; }; - return check_arg_is_constexpr(core::ParameterUsage::kOffset, -8, 7) && - check_arg_is_constexpr(core::ParameterUsage::kComponent, 0, 3); + return check_const_arg_range(core::ParameterUsage::kOffset, -8, 7) && + check_const_arg_range(core::ParameterUsage::kComponent, 0, 3); } bool Validator::SubgroupBroadcast(const sem::Call* call) const { @@ -2221,12 +2261,7 @@ bool Validator::SubgroupBroadcast(const sem::Call* call) const { TINT_ASSERT(call->Arguments().Length() == 2); auto* id = call->Arguments()[1]; auto* constant_value = id->ConstantValue(); - - if (!constant_value) { - AddError(id->Declaration()->source) - << "the sourceLaneIndex argument of subgroupBroadcast must be a const-expression"; - return false; - } + TINT_ASSERT(constant_value); if (id->Type()->IsSignedIntegerScalar()) { if (constant_value->ValueAs() < 0) { @@ -2264,12 +2299,7 @@ bool Validator::QuadBroadcast(const sem::Call* call) const { TINT_ASSERT(call->Arguments().Length() == 2); auto* id = call->Arguments()[1]; auto* constant_value = id->ConstantValue(); - - if (!constant_value) { - AddError(id->Declaration()->source) - << "the id argument of quadBroadcast must be a const-expression"; - return false; - } + TINT_ASSERT(constant_value); if (id->Type()->IsSignedIntegerScalar()) { if (constant_value->ValueAs() < 0) { @@ -2323,7 +2353,7 @@ bool Validator::RequiredFeaturesForBuiltinFn(const sem::Call* call) const { const auto feature = builtin->RequiredLanguageFeature(); if (feature != wgsl::LanguageFeature::kUndefined) { - if (!allowed_features_.features.count(feature)) { + if (!allowed_features_.features.contains(feature)) { AddError(call->Declaration()->source) << "built-in function " << style::Function(builtin->Fn()) << " requires the " << style::Code(wgsl::ToString(feature)) @@ -2434,8 +2464,8 @@ bool Validator::FunctionCall(const sem::Call* call, sem::Statement* current_stat } if (param_type->Is() && - (allowed_features_.features.count( - wgsl::LanguageFeature::kUnrestrictedPointerParameters) == 0u)) { + !allowed_features_.features.contains( + wgsl::LanguageFeature::kUnrestrictedPointerParameters)) { // https://gpuweb.github.io/gpuweb/wgsl/#function-restriction // Each argument of pointer type to a user-defined function must have the same memory // view as its root identifier. @@ -3163,9 +3193,20 @@ bool Validator::Assignment(const ast::Statement* a, const core::type::Type* rhs_ auto const* lhs_sem = sem_.GetVal(lhs); auto const* lhs_ty = lhs_sem->Type(); - auto* lhs_ref = lhs_ty->As(); + const core::type::MemoryView* lhs_ref = lhs_ty->As(); + + // Allow lhs_ref to be a swizzle view if the swizzle assignment language feature is enabled. + if (!lhs_ref && + allowed_features_.features.contains(wgsl::LanguageFeature::kSwizzleAssignment)) { + lhs_ref = lhs_ty->As(); + + if (!SwizzleAssignment(lhs_sem->As(), lhs->source)) { + return false; + } + } + if (!lhs_ref) { - // LHS is not a reference, so it has no storage. + // LHS is not a reference or swizzle view, so it has no storage. AddError(lhs->source) << "cannot assign to " << sem_.Describe(lhs_sem); auto* expr = lhs; @@ -3374,8 +3415,8 @@ bool Validator::CheckTypeAccessAddressSpace(const core::type::Type* store_ty, } break; case core::AddressSpace::kImmediate: - if (DAWN_UNLIKELY(allowed_features_.features.count( - wgsl::LanguageFeature::kImmediateAddressSpace) == 0u)) { + if (DAWN_UNLIKELY(!allowed_features_.features.contains( + wgsl::LanguageFeature::kImmediateAddressSpace))) { AddError(source) << "use of variable address space " << style::Enum("immediate") << " requires the immediate_address_space language feature, which " "is not allowed in the current environment"; @@ -3510,4 +3551,22 @@ bool Validator::CheckNoMultipleModuleScopeVarsOfAddressSpace(sem::Function* entr return true; } +bool Validator::SwizzleAssignment(const sem::Swizzle* lhs, const Source& source) const { + // Check whether swizzle components are duplicated. + while (lhs) { + tint::Hashset seen_indices; + for (auto index : lhs->Indices()) { + if (!seen_indices.Add(index)) { + AddError(source) << "cannot assign to vector swizzle with " + "duplicate target components"; + return false; + } + } + // Swizzle views may be chained, so validate inner object too, if applicable. + lhs = lhs->Object()->As(); + } + + return true; +} + } // namespace tint::resolver diff --git a/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.h b/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.h index 0cf5410bc..2fda394d3 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/resolver/validator.h @@ -29,9 +29,7 @@ #define SRC_TINT_LANG_WGSL_RESOLVER_VALIDATOR_H_ #include -#include #include -#include #include "src/tint/lang/core/evaluation_stage.h" #include "src/tint/lang/core/type/input_attachment.h" @@ -40,45 +38,29 @@ #include "src/tint/lang/wgsl/ast/pipeline_stage.h" #include "src/tint/lang/wgsl/program/program_builder.h" #include "src/tint/lang/wgsl/resolver/sem_helper.h" +#include "src/tint/lang/wgsl/sem/member_accessor_expression.h" #include "src/tint/utils/containers/hashmap.h" #include "src/tint/utils/containers/scope_stack.h" #include "src/tint/utils/containers/vector.h" #include "src/tint/utils/diagnostic/source.h" #include "src/tint/utils/math/hash.h" -#include "src/tint/utils/text/styled_text.h" // Forward declarations namespace tint::ast { -class IndexAccessorExpression; -class BinaryExpression; -class BitcastExpression; class CallExpression; -class CallStatement; -class CaseStatement; -class ForLoopStatement; class Function; -class IdentifierExpression; -class LoopStatement; -class MemberAccessorExpression; class ReturnStatement; class SwitchStatement; -class UnaryOpExpression; class Variable; -class WhileStatement; } // namespace tint::ast namespace tint::sem { class Array; -class BlockStatement; class BreakIfStatement; -class BuiltinFn; class Call; -class CaseStatement; class ForLoopStatement; class IfStatement; class LoopStatement; -class Materialize; class Statement; -class SwitchStatement; class WhileStatement; } // namespace tint::sem namespace tint::core::type { @@ -613,6 +595,12 @@ class Validator { core::AddressSpace sc, Source source) const; + /// Validates a swizzle assignment + /// @param lhs the lhs swizzle to validate + /// @param source the source of the swizzle + /// @returns true on success, false otherwise. + bool SwizzleAssignment(const sem::Swizzle* lhs, const Source& source) const; + private: /// @param ty the type to check /// @returns true if @p ty is an array with an `override` expression element count, otherwise diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/block_statement.h b/3rdparty/dawn/src/tint/lang/wgsl/sem/block_statement.h index e0dc851a8..1aeb62ea5 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/block_statement.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/block_statement.h @@ -36,7 +36,6 @@ namespace tint::ast { class BlockStatement; class ContinueStatement; -class Variable; } // namespace tint::ast namespace tint::sem { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.cc b/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.cc index 0975b5196..b98a7e685 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.cc @@ -39,6 +39,8 @@ TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression); TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression); TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression); +TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression); +TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression); TINT_INSTANTIATE_TYPEINFO(tint::sem::BuiltinEnumExpression); namespace tint::sem { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.h b/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.h index 53ba8578c..02fd51f87 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/builtin_enum_expression.h @@ -30,11 +30,6 @@ #include "src/tint/lang/wgsl/sem/expression.h" -// Forward declarations -namespace tint::core::type { -class Type; -} // namespace tint::core::type - namespace tint::sem { /// Base class for BuiltinEnumExpression. diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/function.h b/3rdparty/dawn/src/tint/lang/wgsl/sem/function.h index 94cca3200..11b44b907 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/function.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/function.h @@ -40,14 +40,10 @@ // Forward declarations namespace tint::ast { -class BuiltinAttribute; class Function; -class LocationAttribute; -class ReturnStatement; } // namespace tint::ast namespace tint::sem { class BuiltinFn; -class Variable; } // namespace tint::sem namespace tint::sem { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/function_expression.cc b/3rdparty/dawn/src/tint/lang/wgsl/sem/function_expression.cc index f2a528c36..5c22fad11 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/function_expression.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/function_expression.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/wgsl/sem/function_expression.h" + #include "src/tint/lang/wgsl/ast/identifier_expression.h" TINT_INSTANTIATE_TYPEINFO(tint::sem::FunctionExpression); diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/info.h b/3rdparty/dawn/src/tint/lang/wgsl/sem/info.h index 527b2c7e4..fecbe1e51 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/info.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/info.h @@ -42,10 +42,6 @@ namespace tint::sem { class Module; class ValueExpression; } // namespace tint::sem -namespace tint::core::type { -class Node; -class Type; -} // namespace tint::core::type namespace tint::sem { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/load.cc b/3rdparty/dawn/src/tint/lang/wgsl/sem/load.cc index 7ea267d03..cafbd4f18 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/load.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/load.cc @@ -44,6 +44,20 @@ Load::Load(const ValueExpression* src, const Statement* statement, core::Evaluat TINT_ASSERT(src->Type()->Is()); } +Load::Load(const ValueExpression* src, + const core::type::Type* type, + const Statement* statement, + core::EvaluationStage stage) + : Base(/* declaration */ src->Declaration(), + /* type */ type, + /* stage */ stage, + /* statement */ statement, + /* constant */ nullptr, + /* root_ident */ src->RootIdentifier()), + source_(src) { + TINT_ASSERT(src->Type()->Is()); +} + Load::~Load() = default; } // namespace tint::sem diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/load.h b/3rdparty/dawn/src/tint/lang/wgsl/sem/load.h index a635df6d3..d56e6694f 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/load.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/load.h @@ -43,6 +43,16 @@ class Load final : public Castable { /// @param stage the earliest evaluation stage for the expression Load(const ValueExpression* source, const Statement* statement, core::EvaluationStage stage); + /// Constructor + /// @param source the source expression being loaded from + /// @param type the resolved type of the load + /// @param statement the statement that owns this expression + /// @param stage the earliest evaluation stage for the expression + Load(const ValueExpression* source, + const core::type::Type* type, + const Statement* statement, + core::EvaluationStage stage); + /// Destructor ~Load() override; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/member_accessor_expression.cc b/3rdparty/dawn/src/tint/lang/wgsl/sem/member_accessor_expression.cc index b019b92da..d3b3478e8 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/member_accessor_expression.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/member_accessor_expression.cc @@ -26,10 +26,11 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/wgsl/ast/member_accessor_expression.h" -#include "src/tint/lang/wgsl/sem/member_accessor_expression.h" #include +#include "src/tint/lang/wgsl/sem/member_accessor_expression.h" + TINT_INSTANTIATE_TYPEINFO(tint::sem::StructMemberAccess); TINT_INSTANTIATE_TYPEINFO(tint::sem::Swizzle); diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/statement.cc b/3rdparty/dawn/src/tint/lang/wgsl/sem/statement.cc index 012f13dc8..2f64b1f9c 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/statement.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/statement.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/wgsl/ast/statement.h" + #include "src/tint/lang/wgsl/ast/identifier.h" #include "src/tint/lang/wgsl/ast/variable.h" #include "src/tint/lang/wgsl/sem/block_statement.h" diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/switch_statement.h b/3rdparty/dawn/src/tint/lang/wgsl/sem/switch_statement.h index 6cbf1cdda..2029364c4 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/switch_statement.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/switch_statement.h @@ -44,7 +44,6 @@ class Value; namespace tint::sem { class CaseStatement; class CaseSelector; -class ValueExpression; } // namespace tint::sem namespace tint::sem { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/sem/variable.h b/3rdparty/dawn/src/tint/lang/wgsl/sem/variable.h index 9c51c56fc..78b9f4267 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/sem/variable.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/sem/variable.h @@ -30,9 +30,8 @@ #include -#include "src/tint/api/common/override_id.h" - #include "src/tint/api/common/binding_point.h" +#include "src/tint/api/common/override_id.h" #include "src/tint/lang/core/enums.h" #include "src/tint/lang/core/type/type.h" #include "src/tint/lang/wgsl/ast/parameter.h" diff --git a/3rdparty/dawn/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h b/3rdparty/dawn/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h index 0be81ebae..8670a71bc 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/writer/ast_printer/ast_printer.h @@ -47,8 +47,6 @@ namespace tint::ast { class AssignmentStatement; class Attribute; class BinaryExpression; -class BitcastExpression; -class BlockStatement; class BlockStatement; class BreakIfStatement; class BreakStatement; @@ -74,8 +72,6 @@ class MemberAccessorExpression; class Requires; class ReturnStatement; class Statement; -class Statement; -class Statement; class Struct; class SwitchStatement; class TypeDecl; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/writer/common/options.h b/3rdparty/dawn/src/tint/lang/wgsl/writer/common/options.h index 997adac47..3d54f3743 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/writer/common/options.h +++ b/3rdparty/dawn/src/tint/lang/wgsl/writer/common/options.h @@ -39,6 +39,8 @@ struct Options { bool allow_non_uniform_derivatives = false; /// Set to `true` to insert a directive to disable uniformity checks for subgroup builtins. bool allow_non_uniform_subgroup_operations = false; + /// Set tot `true` to disable the unreachable code warning + bool disable_unreachable_code_warning = false; /// The extensions and language features that are allowed to be used in the generated WGSL. wgsl::AllowedFeatures allowed_features = {}; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc b/3rdparty/dawn/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc index 5df3aa10b..b225235e4 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.cc @@ -29,7 +29,6 @@ #include #include -#include #include #include "src/tint/lang/core/constant/splat.h" @@ -45,7 +44,6 @@ #include "src/tint/lang/core/ir/construct.h" #include "src/tint/lang/core/ir/continue.h" #include "src/tint/lang/core/ir/convert.h" -#include "src/tint/lang/core/ir/core_builtin_call.h" #include "src/tint/lang/core/ir/discard.h" #include "src/tint/lang/core/ir/exit_if.h" #include "src/tint/lang/core/ir/exit_loop.h" @@ -81,17 +79,13 @@ #include "src/tint/lang/core/type/reference.h" #include "src/tint/lang/core/type/sampler.h" #include "src/tint/lang/core/type/storage_texture.h" -#include "src/tint/lang/core/type/texture.h" #include "src/tint/lang/core/type/type.h" #include "src/tint/lang/wgsl/ast/type.h" #include "src/tint/lang/wgsl/ir/builtin_call.h" -#include "src/tint/lang/wgsl/ir/unary.h" #include "src/tint/lang/wgsl/program/program_builder.h" #include "src/tint/lang/wgsl/reserved_words.h" #include "src/tint/lang/wgsl/resolver/resolve.h" #include "src/tint/utils/containers/hashmap.h" -#include "src/tint/utils/containers/predicates.h" -#include "src/tint/utils/containers/reverse.h" #include "src/tint/utils/containers/transform.h" #include "src/tint/utils/containers/vector.h" #include "src/tint/utils/macros/scoped_assignment.h" @@ -114,8 +108,7 @@ class State { core::ir::Capability::kAllowPhonyInstructions, core::ir::Capability::kAllowRefTypes, }; - if (auto res = core::ir::ValidateAndDumpIfNeeded(mod, "wgsl.to_program", caps); - res != Success) { + if (auto res = ValidateBeforeIfNeeded(mod, caps, "wgsl.to_program"); res != Success) { // IR module failed validation. b.Diagnostics().AddError(Source{}) << res.Failure(); return Program{resolver::Resolve(b)}; @@ -145,6 +138,10 @@ class State { // diagnostic directive to the module. b.DiagnosticDirective(wgsl::DiagnosticSeverity::kOff, "subgroup_uniformity"); } + if (options.disable_unreachable_code_warning) { + // Suppress warnings regarding unreachable code + b.DiagnosticDirective(wgsl::DiagnosticSeverity::kOff, "chromium", "unreachable_code"); + } return Program{resolver::Resolve(b, options.allowed_features)}; } @@ -245,9 +242,15 @@ class State { case core::BuiltinValue::kGlobalInvocationId: attrs.Push(b.Builtin(core::BuiltinValue::kGlobalInvocationId)); break; + case core::BuiltinValue::kGlobalInvocationIndex: + attrs.Push(b.Builtin(core::BuiltinValue::kGlobalInvocationIndex)); + break; case core::BuiltinValue::kWorkgroupId: attrs.Push(b.Builtin(core::BuiltinValue::kWorkgroupId)); break; + case core::BuiltinValue::kWorkgroupIndex: + attrs.Push(b.Builtin(core::BuiltinValue::kWorkgroupIndex)); + break; case core::BuiltinValue::kNumWorkgroups: attrs.Push(b.Builtin(core::BuiltinValue::kNumWorkgroups)); break; @@ -1198,7 +1201,7 @@ class State { return name; }); - return b.ty(n); + return b.ty.AsType(n); } bool ContainsBuiltinStruct(const core::type::Type* ty) { diff --git a/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/ptr_to_ref.cc b/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/ptr_to_ref.cc index 610d3adfd..faa11b60d 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/ptr_to_ref.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/ptr_to_ref.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/lang/wgsl/writer/raise/ptr_to_ref.h" + #include "src/tint/lang/core/ir/builder.h" #include "src/tint/lang/core/ir/function.h" #include "src/tint/lang/core/ir/let.h" @@ -138,15 +139,14 @@ struct Impl { } // namespace Result PtrToRef(core::ir::Module& mod) { - TINT_CHECK_RESULT(core::ir::ValidateAndDumpIfNeeded( - mod, "wgsl.PtrToRef", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - core::ir::Capability::kAllowPhonyInstructions, - } - - )); + TINT_CHECK_RESULT( + core::ir::ValidateBeforeIfNeeded(mod, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + core::ir::Capability::kAllowPhonyInstructions, + }, + "wgsl.PtrToRef")); Impl{mod}.Run(); diff --git a/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/raise.cc b/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/raise.cc index 2876bdf92..a247e5d8a 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/raise.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/raise.cc @@ -36,6 +36,7 @@ #include "src/tint/lang/core/ir/transform/rename_conflicts.h" #include "src/tint/lang/core/type/pointer.h" #include "src/tint/lang/wgsl/enums.h" +#include "src/tint/lang/wgsl/ir/atomic_vec2u_to_from_u64.h" #include "src/tint/lang/wgsl/ir/builtin_call.h" #include "src/tint/lang/wgsl/writer/raise/ptr_to_ref.h" #include "src/tint/lang/wgsl/writer/raise/value_to_let.h" @@ -168,6 +169,8 @@ wgsl::BuiltinFn Convert(core::BuiltinFn fn) { CASE(kAtomicXor) CASE(kAtomicExchange) CASE(kAtomicCompareExchangeWeak) + CASE(kAtomicStoreMin) + CASE(kAtomicStoreMax) CASE(kSubgroupBallot) CASE(kSubgroupElect) CASE(kSubgroupBroadcast) @@ -264,6 +267,9 @@ void ReplaceWorkgroupBarrier(core::ir::Builder& b, core::ir::CoreBuiltinCall* ca } // namespace Result Raise(core::ir::Module& mod) { + TINT_CHECK_RESULT(tint::wgsl::ir::transform::AtomicVec2uToFromU64( + mod, tint::wgsl::ir::transform::AtomicVec2uU64Direction::kFromU64)); + TINT_CHECK_RESULT(core::ir::transform::RenameConflicts(mod)); core::ir::Builder b{mod}; diff --git a/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/value_to_let.cc b/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/value_to_let.cc index 628534834..93702a47d 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/value_to_let.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/writer/raise/value_to_let.cc @@ -197,14 +197,13 @@ struct State { } // namespace Result ValueToLet(core::ir::Module& ir) { - TINT_CHECK_RESULT(core::ir::ValidateAndDumpIfNeeded( - ir, "wgsl.ValueToLet", - core::ir::Capabilities{ - core::ir::Capability::kAllowMultipleEntryPoints, - core::ir::Capability::kAllowOverrides, - } - - )); + TINT_CHECK_RESULT( + core::ir::ValidateBeforeIfNeeded(ir, + core::ir::Capabilities{ + core::ir::Capability::kAllowMultipleEntryPoints, + core::ir::Capability::kAllowOverrides, + }, + "wgsl.ValueToLet")); State{ir}.Process(); diff --git a/3rdparty/dawn/src/tint/lang/wgsl/writer/writer.cc b/3rdparty/dawn/src/tint/lang/wgsl/writer/writer.cc index 964cdde83..3716326f0 100644 --- a/3rdparty/dawn/src/tint/lang/wgsl/writer/writer.cc +++ b/3rdparty/dawn/src/tint/lang/wgsl/writer/writer.cc @@ -33,6 +33,7 @@ #include "src/tint/lang/wgsl/writer/ast_printer/ast_printer.h" #include "src/tint/lang/wgsl/writer/ir_to_program/ir_to_program.h" #include "src/tint/lang/wgsl/writer/raise/raise.h" +#include "src/tint/utils/ice/ice.h" namespace tint::wgsl::writer { diff --git a/3rdparty/dawn/src/tint/utils/bytes/swap.h b/3rdparty/dawn/src/tint/utils/bytes/swap.h index dcabecfe8..632f72386 100644 --- a/3rdparty/dawn/src/tint/utils/bytes/swap.h +++ b/3rdparty/dawn/src/tint/utils/bytes/swap.h @@ -35,7 +35,6 @@ #include "src/tint/utils/macros/compiler.h" - namespace tint::bytes { /// @returns the input value with all bytes reversed @@ -60,5 +59,4 @@ TINT_END_DISABLE_WARNING(UNSAFE_BUFFER_USAGE); } // namespace tint::bytes - #endif // SRC_TINT_UTILS_BYTES_SWAP_H_ diff --git a/3rdparty/dawn/src/tint/utils/containers/hashset.h b/3rdparty/dawn/src/tint/utils/containers/hashset.h index 9bdc7efc7..c2e01866f 100644 --- a/3rdparty/dawn/src/tint/utils/containers/hashset.h +++ b/3rdparty/dawn/src/tint/utils/containers/hashset.h @@ -29,6 +29,7 @@ #define SRC_TINT_UTILS_CONTAINERS_HASHSET_H_ #include + #include #include #include diff --git a/3rdparty/dawn/src/tint/utils/containers/slice.h b/3rdparty/dawn/src/tint/utils/containers/slice.h index 2aad8ced2..ea64ce3fe 100644 --- a/3rdparty/dawn/src/tint/utils/containers/slice.h +++ b/3rdparty/dawn/src/tint/utils/containers/slice.h @@ -56,7 +56,7 @@ namespace tint { struct EmptyType {}; /// An instance of the EmptyType. -static constexpr EmptyType Empty; +inline constexpr EmptyType Empty; /// Mode enumerator for ReinterpretSlice enum class ReinterpretMode { diff --git a/3rdparty/dawn/src/tint/utils/containers/vector.h b/3rdparty/dawn/src/tint/utils/containers/vector.h index 41e8020f8..24aace0e0 100644 --- a/3rdparty/dawn/src/tint/utils/containers/vector.h +++ b/3rdparty/dawn/src/tint/utils/containers/vector.h @@ -30,6 +30,7 @@ #include #include + #include #include #include diff --git a/3rdparty/dawn/src/tint/utils/diagnostic/formatter.h b/3rdparty/dawn/src/tint/utils/diagnostic/formatter.h index b744ff654..d17df2888 100644 --- a/3rdparty/dawn/src/tint/utils/diagnostic/formatter.h +++ b/3rdparty/dawn/src/tint/utils/diagnostic/formatter.h @@ -32,7 +32,6 @@ // Forward declaration namespace tint { -class StyledTextPrinter; class StyledText; } // namespace tint namespace tint::diag { diff --git a/3rdparty/dawn/src/tint/utils/ice/debugger.cc b/3rdparty/dawn/src/tint/utils/ice/debugger.cc index 73fd28c55..5da169a57 100644 --- a/3rdparty/dawn/src/tint/utils/ice/debugger.cc +++ b/3rdparty/dawn/src/tint/utils/ice/debugger.cc @@ -33,6 +33,7 @@ #include #elif defined(__linux__) #include + #include #include #endif diff --git a/3rdparty/dawn/src/tint/utils/math/crc32.h b/3rdparty/dawn/src/tint/utils/math/crc32.h index c407bd165..5f94ede3f 100644 --- a/3rdparty/dawn/src/tint/utils/math/crc32.h +++ b/3rdparty/dawn/src/tint/utils/math/crc32.h @@ -29,6 +29,7 @@ #define SRC_TINT_UTILS_MATH_CRC32_H_ #include + #include #include "src/tint/utils/macros/compiler.h" diff --git a/3rdparty/dawn/src/tint/utils/math/hash.h b/3rdparty/dawn/src/tint/utils/math/hash.h index d5cd9c688..30ac91eaf 100644 --- a/3rdparty/dawn/src/tint/utils/math/hash.h +++ b/3rdparty/dawn/src/tint/utils/math/hash.h @@ -45,7 +45,6 @@ #include "src/tint/utils/math/crc32.h" namespace tint { - namespace detail { template diff --git a/3rdparty/dawn/src/tint/utils/math/math.h b/3rdparty/dawn/src/tint/utils/math/math.h index d0410521c..2b8660b82 100644 --- a/3rdparty/dawn/src/tint/utils/math/math.h +++ b/3rdparty/dawn/src/tint/utils/math/math.h @@ -57,7 +57,7 @@ inline constexpr bool IsPowerOfTwo(T value) { inline constexpr uint32_t Log2(uint64_t value) { #if defined(__clang__) || defined(__GNUC__) return 63 - static_cast(__builtin_clzll(value)); -#elif 0 //defined(_MSC_VER) && !defined(__clang__) && __cplusplus >= 202002L // MSVC and C++20+ +#elif defined(_MSC_VER) && !defined(__clang__) && __cplusplus >= 202002L // MSVC and C++20+ // note: std::is_constant_evaluated() added in C++20 // required here as _BitScanReverse64 is not constexpr if (!std::is_constant_evaluated()) { diff --git a/3rdparty/dawn/src/tint/utils/result.h b/3rdparty/dawn/src/tint/utils/result.h index 8f90acd9e..e9785a249 100644 --- a/3rdparty/dawn/src/tint/utils/result.h +++ b/3rdparty/dawn/src/tint/utils/result.h @@ -43,7 +43,7 @@ namespace tint { struct SuccessType {}; /// An instance of SuccessType that can be used as a generic success value for a Result. -static constexpr const SuccessType Success; +inline constexpr const SuccessType Success; /// The default Result error type. struct Failure { diff --git a/3rdparty/dawn/src/tint/utils/rtti/castable.h b/3rdparty/dawn/src/tint/utils/rtti/castable.h index 6a9cc0d48..79bd4833e 100644 --- a/3rdparty/dawn/src/tint/utils/rtti/castable.h +++ b/3rdparty/dawn/src/tint/utils/rtti/castable.h @@ -29,6 +29,7 @@ #define SRC_TINT_UTILS_RTTI_CASTABLE_H_ #include + #include #include #include @@ -73,7 +74,8 @@ namespace tint { /// True if all template types that are not Ignore derive from CastableBase template static constexpr bool IsCastable = - ((tint::traits::IsTypeOrDerived || std::is_same_v)&&...) && + ((tint::traits::IsTypeOrDerived || std::is_same_v) && + ...) && !(std::is_same_v && ...); /// Helper macro to instantiate the TypeInfo template for `CLASS`. diff --git a/3rdparty/dawn/src/tint/utils/rtti/switch.cc b/3rdparty/dawn/src/tint/utils/rtti/switch.cc index 249c599a1..1bcf58251 100644 --- a/3rdparty/dawn/src/tint/utils/rtti/switch.cc +++ b/3rdparty/dawn/src/tint/utils/rtti/switch.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/utils/rtti/switch.h" + #include "src/tint/utils/ice/ice.h" namespace tint::detail { diff --git a/3rdparty/dawn/src/tint/utils/templates/intrinsic_table_data.tmpl.inc b/3rdparty/dawn/src/tint/utils/templates/intrinsic_table_data.tmpl.inc index 1a75518fe..489e722dc 100644 --- a/3rdparty/dawn/src/tint/utils/templates/intrinsic_table_data.tmpl.inc +++ b/3rdparty/dawn/src/tint/utils/templates/intrinsic_table_data.tmpl.inc @@ -81,6 +81,9 @@ constexpr ParameterInfo kParameters[] = { {{- if $p.Usage }}k{{PascalCase $p.Usage}} {{- else }}kNone {{- end }}, + /* is_const */ +{{- if $p.IsConst }} true +{{- else }} false{{end}}, /* matcher_indices */ {{- if ge $p.MatcherIndicesOffset 0 }} MatcherIndicesIndex({{$p.MatcherIndicesOffset}}) {{- else }} MatcherIndicesIndex(/* invalid */) diff --git a/3rdparty/dawn/src/tint/utils/text/base64.cc b/3rdparty/dawn/src/tint/utils/text/base64.cc index 7ae85cc36..ea498e520 100644 --- a/3rdparty/dawn/src/tint/utils/text/base64.cc +++ b/3rdparty/dawn/src/tint/utils/text/base64.cc @@ -25,10 +25,10 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -#include - #include "src/tint/utils/text/base64.h" +#include + namespace tint { Vector DecodeBase64FromComments(std::string_view wgsl) { diff --git a/3rdparty/dawn/src/tint/utils/text/string.cc b/3rdparty/dawn/src/tint/utils/text/string.cc index 47d7a90ce..daf8fc68c 100644 --- a/3rdparty/dawn/src/tint/utils/text/string.cc +++ b/3rdparty/dawn/src/tint/utils/text/string.cc @@ -25,11 +25,12 @@ // OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +#include "src/tint/utils/text/string.h" + #include #include "src/tint/utils/containers/transform.h" #include "src/tint/utils/containers/vector.h" -#include "src/tint/utils/text/string.h" #include "src/tint/utils/text/styled_text.h" namespace tint { diff --git a/3rdparty/dawn/src/tint/utils/text/styled_text.cc b/3rdparty/dawn/src/tint/utils/text/styled_text.cc index b6ad72ec2..d399bac81 100644 --- a/3rdparty/dawn/src/tint/utils/text/styled_text.cc +++ b/3rdparty/dawn/src/tint/utils/text/styled_text.cc @@ -26,7 +26,9 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/utils/text/styled_text.h" + #include + #include "src/tint/utils/text/styled_text_printer.h" #include "src/tint/utils/text/text_style.h" diff --git a/3rdparty/dawn/src/tint/utils/text/styled_text.h b/3rdparty/dawn/src/tint/utils/text/styled_text.h index 556099bf6..4b5febb2d 100644 --- a/3rdparty/dawn/src/tint/utils/text/styled_text.h +++ b/3rdparty/dawn/src/tint/utils/text/styled_text.h @@ -38,11 +38,6 @@ #include "src/tint/utils/text/string_stream.h" #include "src/tint/utils/text/text_style.h" -// Forward declarations -namespace tint { -class StyledTextPrinter; -} - namespace tint { /// StyledText is a string builder with support for styled text spans. diff --git a/3rdparty/dawn/src/tint/utils/text/styled_text_printer.cc b/3rdparty/dawn/src/tint/utils/text/styled_text_printer.cc index 496f8b07b..f73dbe2fe 100644 --- a/3rdparty/dawn/src/tint/utils/text/styled_text_printer.cc +++ b/3rdparty/dawn/src/tint/utils/text/styled_text_printer.cc @@ -30,10 +30,11 @@ #pragma allow_unsafe_buffers #endif +#include "src/tint/utils/text/styled_text_printer.h" + #include #include "src/tint/utils/system/terminal.h" -#include "src/tint/utils/text/styled_text_printer.h" namespace tint { namespace { diff --git a/3rdparty/dawn/src/tint/utils/text/styled_text_printer.h b/3rdparty/dawn/src/tint/utils/text/styled_text_printer.h index a22453766..108c0b9fe 100644 --- a/3rdparty/dawn/src/tint/utils/text/styled_text_printer.h +++ b/3rdparty/dawn/src/tint/utils/text/styled_text_printer.h @@ -34,11 +34,6 @@ #include "src/tint/utils/text/styled_text.h" #include "src/tint/utils/text/styled_text_theme.h" -/// Forward declarations -namespace tint { -class TextStyle; -} - namespace tint { /// StyledTextPrinter is the interface for printing text with a style. diff --git a/3rdparty/dawn/src/tint/utils/text/styled_text_theme.cc b/3rdparty/dawn/src/tint/utils/text/styled_text_theme.cc index 0b209a1bc..d73b15fc3 100644 --- a/3rdparty/dawn/src/tint/utils/text/styled_text_theme.cc +++ b/3rdparty/dawn/src/tint/utils/text/styled_text_theme.cc @@ -26,6 +26,7 @@ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "src/tint/utils/text/styled_text_theme.h" + #include "src/tint/utils/text/text_style.h" namespace tint { diff --git a/3rdparty/dawn/src/tint/utils/text/styled_text_theme.h b/3rdparty/dawn/src/tint/utils/text/styled_text_theme.h index a184b5548..95213b000 100644 --- a/3rdparty/dawn/src/tint/utils/text/styled_text_theme.h +++ b/3rdparty/dawn/src/tint/utils/text/styled_text_theme.h @@ -29,6 +29,7 @@ #define SRC_TINT_UTILS_TEXT_STYLED_TEXT_THEME_H_ #include + #include #include "src/tint/utils/math/hash.h" diff --git a/3rdparty/dawn/src/tint/utils/text/text_style.h b/3rdparty/dawn/src/tint/utils/text/text_style.h index 2006e5d38..bd9f08730 100644 --- a/3rdparty/dawn/src/tint/utils/text/text_style.h +++ b/3rdparty/dawn/src/tint/utils/text/text_style.h @@ -170,49 +170,49 @@ static constexpr bool IsScopedTextStyle = detail::IsScopedTextStyle::value; namespace tint::style { /// Plain renders text without any styling -static constexpr TextStyle Plain = TextStyle{}; +inline constexpr TextStyle Plain = TextStyle{}; /// Bold renders text with a heavy weight -static constexpr TextStyle Bold = TextStyle{TextStyle::kStyleBold}; +inline constexpr TextStyle Bold = TextStyle{TextStyle::kStyleBold}; /// Underlined renders text with an underline -static constexpr TextStyle Underlined = TextStyle{TextStyle::kStyleUnderlined}; +inline constexpr TextStyle Underlined = TextStyle{TextStyle::kStyleUnderlined}; /// Code renders without a single quote when printed as plain text. -static constexpr TextStyle NoQuote = TextStyle{TextStyle::kStyleNoQuote}; +inline constexpr TextStyle NoQuote = TextStyle{TextStyle::kStyleNoQuote}; /// Match renders text with the compare-match style -static constexpr TextStyle Match = TextStyle{TextStyle::kCompareMatch}; +inline constexpr TextStyle Match = TextStyle{TextStyle::kCompareMatch}; /// Mismatch renders text with the compare-mismatch style -static constexpr TextStyle Mismatch = TextStyle{TextStyle::kCompareMismatch}; +inline constexpr TextStyle Mismatch = TextStyle{TextStyle::kCompareMismatch}; /// Success renders text with the styling for a successful status -static constexpr TextStyle Success = TextStyle{TextStyle::kSeveritySuccess}; +inline constexpr TextStyle Success = TextStyle{TextStyle::kSeveritySuccess}; /// Warning renders text with the styling for a warning status -static constexpr TextStyle Warning = TextStyle{TextStyle::kSeverityWarning}; +inline constexpr TextStyle Warning = TextStyle{TextStyle::kSeverityWarning}; /// Error renders text with the styling for a error status -static constexpr TextStyle Error = TextStyle{TextStyle::kSeverityError}; +inline constexpr TextStyle Error = TextStyle{TextStyle::kSeverityError}; /// Fatal renders text with the styling for a fatal status -static constexpr TextStyle Fatal = TextStyle{TextStyle::kSeverityFatal}; +inline constexpr TextStyle Fatal = TextStyle{TextStyle::kSeverityFatal}; /// Code renders text with a 'code' style -static constexpr TextStyle Code = TextStyle{TextStyle::kKindCode}; +inline constexpr TextStyle Code = TextStyle{TextStyle::kKindCode}; /// Keyword renders text with a 'code' style that represents a 'keyword' token -static constexpr TextStyle Keyword = TextStyle{TextStyle::kKindKeyword}; +inline constexpr TextStyle Keyword = TextStyle{TextStyle::kKindKeyword}; /// Variable renders text with a 'code' style that represents a 'variable' token -static constexpr TextStyle Variable = TextStyle{TextStyle::kKindVariable}; +inline constexpr TextStyle Variable = TextStyle{TextStyle::kKindVariable}; /// Type renders text with a 'code' style that represents a 'type' token -static constexpr TextStyle Type = TextStyle{TextStyle::kKindType}; +inline constexpr TextStyle Type = TextStyle{TextStyle::kKindType}; /// Function renders text with a 'code' style that represents a 'function' token -static constexpr TextStyle Function = TextStyle{TextStyle::kKindFunction}; +inline constexpr TextStyle Function = TextStyle{TextStyle::kKindFunction}; /// Enum renders text with a 'code' style that represents a 'enum' token -static constexpr TextStyle Enum = TextStyle{TextStyle::kKindEnum}; +inline constexpr TextStyle Enum = TextStyle{TextStyle::kKindEnum}; /// Literal renders text with a 'code' style that represents a 'literal' token -static constexpr TextStyle Literal = TextStyle{TextStyle::kKindLiteral}; +inline constexpr TextStyle Literal = TextStyle{TextStyle::kKindLiteral}; /// Attribute renders text with a 'code' style that represents an 'attribute' token -static constexpr TextStyle Attribute = TextStyle{TextStyle::kKindAttribute}; +inline constexpr TextStyle Attribute = TextStyle{TextStyle::kKindAttribute}; /// Comment renders text with a 'code' style that represents an 'comment' token -static constexpr TextStyle Comment = TextStyle{TextStyle::kKindComment}; +inline constexpr TextStyle Comment = TextStyle{TextStyle::kKindComment}; /// Label renders text with a 'code' style that represents an 'label' token -static constexpr TextStyle Label = TextStyle{TextStyle::kKindLabel}; +inline constexpr TextStyle Label = TextStyle{TextStyle::kKindLabel}; /// Instruction renders text with a 'code' style that represents an 'instruction' token -static constexpr TextStyle Instruction = TextStyle{TextStyle::kKindInstruction}; +inline constexpr TextStyle Instruction = TextStyle{TextStyle::kKindInstruction}; /// Squiggle renders text with a squiggle-highlight style (`^^^^^`) -static constexpr TextStyle Squiggle = TextStyle{TextStyle::kKindSquiggle}; +inline constexpr TextStyle Squiggle = TextStyle{TextStyle::kKindSquiggle}; } // namespace tint::style diff --git a/src/renderer_webgpu.cpp b/src/renderer_webgpu.cpp index 66c415526..a1df05e58 100644 --- a/src/renderer_webgpu.cpp +++ b/src/renderer_webgpu.cpp @@ -379,6 +379,7 @@ namespace bgfx { namespace wgpu { LANGUAGE_FEATURE(PointerCompositeAccess), true, false }, { LANGUAGE_FEATURE(UniformBufferStandardLayout), true, false }, { LANGUAGE_FEATURE(SubgroupId), true, false }, + { LANGUAGE_FEATURE(TextureAndSamplerLet), true, false }, { LANGUAGE_FEATURE(ChromiumTestingUnimplemented), true, false }, { LANGUAGE_FEATURE(ChromiumTestingUnsafeExperimental), true, false }, { LANGUAGE_FEATURE(ChromiumTestingExperimental), true, false }, @@ -390,7 +391,6 @@ namespace bgfx { namespace wgpu { LANGUAGE_FEATURE(FragmentDepth), true, false }, { LANGUAGE_FEATURE(ImmediateAddressSpace), true, false }, { LANGUAGE_FEATURE(SubgroupUniformity), true, false }, - { LANGUAGE_FEATURE(TextureAndSamplerLet), true, false }, #undef LANGUAGE_FEATURE };