!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !!!!!!!!!!!!!!""""""SafeSafe    Safe79Safe7 Zhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_capability_a_capabilitySource for Capability: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL9 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJK: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKL8 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLSafe7M fhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_addressing_model_a_addressing_modelSource for Addressing ModelMNOPQMNOPMNOPQMNOPQSafe7R Thttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_builtin_a_builtinSource for BuiltIn+RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|*RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{+RSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|R)STUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|Safe7} Zhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_decoration_a_decorationSource for Decoration-}~,}~-}~}+~Safe7 Lhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_dim_a_dimSource for Dim   Safe7 bhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_execution_mode_a_execution_modeSource for Execution Mode! ! Safe7 dhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_execution_model_a_execution_modelSource for Execution Model   Safe7 hhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_fp_fast_math_mode_a_fp_fast_math_modeSource for FP Fast Math Mode Safe7 fhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_fp_rounding_mode_a_fp_rounding_modeSource for FP Rounding Mode Safe7 fhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_function_control_a_function_controlSource for Function ControlSafe7 ~https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_function_parameter_attribute_a_function_parameter_attribute'Source for Function Parameter Attribute Safe7 dhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_group_operation_a_group_operationSource for Group OperationSafe7 thttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_image_channel_data_type_a_image_channel_data_type"Source for Image Channel Data Type                    Safe7 lhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_image_channel_order_a_image_channel_orderSource for Image Channel Order !"#$%&'( !"#$%&' !"#$%&'( !"#$%&'(Safe7) ^https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_image_format_a_image_formatSource for Image Format*)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR))*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQ*)*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQR)(*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSafe7S bhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_image_operands_a_image_operandsSource for Image Operands STUVWXYZ[\] STUVWXYZ[\ STUVWXYZ[\]S TUVWXYZ[\]Safe7^ nhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_kernel_enqueue_flags_a_kernel_enqueue_flagsSource for Kernel Enqueue Flags^_`ab^_`a^_`ab^_`abSafe7c phttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_kernel_profiling_info_a_kernel_profiling_info Source for Kernel Profiling InfocdefcdecdefcdefSafe7g ^https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_linkage_type_a_linkage_typeSource for Linkage TypeghijghighijghijSafe7k ^https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_loop_control_a_loop_controlSource for Loop ControlklmnoklmnklmnoklmnoSafe7p `https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_memory_access_a_memory_accessSource for Memory AccesspqrstupqrstpqrstupqrstuSafe7v ^https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_memory_model_a_memory_modelSource for Memory ModelvwxyzvwxyvwxyzvwxyzSafe7{ shttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_memory_semantics__id_a_memory_semantics_lt_id_gtSource for Memory Semantics {|}~ {|}~ {|}~{ |}~Safe7,      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~+      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~,      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~&      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe7 thttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_sampler_addressing_mode_a_sampler_addressing_mode"Source for Sampler Addressing ModeSafe7 lhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_sampler_filter_mode_a_sampler_filter_modeSource for Sampler Filter ModeSafe7 ]https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_scope__id_a_scope_lt_id_gtSource for ScopeSafe7 hhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_selection_control_a_selection_controlSource for Selection Control Safe7 dhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_source_language_a_source_languageSource for Source Language!Safe7 `https://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_storage_class_a_storage_classSource for Storage Class  "Safe7 fhttps://www.khronos.org/registry/spir-v/specs/1.0/SPIRV.html#_a_id_access_qualifier_a_access_qualifierSource for Access Qualifier#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwUVxyz{|}~u                                     9   =                        !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrs_tuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~  E     !!!!!!!!!!!!!!"""""spirv_4JIheccFukVEBTtOr7tQO5Language.SpirV.MagicLanguage.SpirV.LimitsLanguage.SpirV.CapabilityLanguage.SpirV.SpirEnumLanguage.SpirV.AddressingModelLanguage.SpirV.BuiltInLanguage.SpirV.DecorationLanguage.SpirV.DimLanguage.SpirV.ExecutionModeLanguage.SpirV.ExecutionModelLanguage.SpirV.FPFastMathModeLanguage.SpirV.FPRoundingModeLanguage.SpirV.FunctionControl)Language.SpirV.FunctionParameterAttributeLanguage.SpirV.GroupOperation#Language.SpirV.ImageChannelDataType Language.SpirV.ImageChannelOrderLanguage.SpirV.ImageFormatLanguage.SpirV.ImageOperands!Language.SpirV.KernelEnqueueFlags"Language.SpirV.KernelProfilingInfoLanguage.SpirV.LinkageTypeLanguage.SpirV.LoopControlLanguage.SpirV.MemoryAccessLanguage.SpirV.MemoryModelLanguage.SpirV.MemorySemanticsLanguage.SpirV.OpCode$Language.SpirV.SamplerAddressingMode Language.SpirV.SamplerFilterModeLanguage.SpirV.ScopeLanguage.SpirV.SelectionControlLanguage.SpirV.SourceLanguageLanguage.SpirV.StorageClassLanguage.SpirV.AccessQualifiermagicmaxCharactersInALiteralStringmaxInstructionWordCountmaxResultIdBoundmaxControlflowNestingDepthmaxGlobalVariablesmaxLocalVariablesmaxExecutionModesPerEntryPointmaxIndex3maxNumberOfFunctionParametersPerFunctionDeclaration maxOpFunctionCallActualArgumentsmaxOpExtInstActualArgumentsmaxOpSwitchPairsmaxOpTypeStructMembersmaxStructureNestingDepth CapabilitySpirEnumtoWordfromWordrequiredCapabilitiesMatrixShaderGeometry Tessellation AddressesLinkageKernelVector16 Float16BufferFloat16Float64Int64 Int64Atomics ImageBasicImageReadWrite ImageMipmapPipesGroups DeviceEnqueueLiteralSampler AtomicStorageInt16TessellationPointSizeGeometryPointSizeImageGatherExtendedStorageImageMultisample!UniformBufferArrayDynamicIndexing SampledImageArrayDynamicIndexing!StorageBufferArrayDynamicIndexing StorageImageArrayDynamicIndexing ClipDistance CullDistanceImageCubeArraySampleRateShading ImageRect SampledRectGenericPointerInt8InputAttachmentSparseResidencyMinLod Sampled1DImage1DSampledCubeArray SampledBuffer ImageBuffer ImageMSArrayStorageImageExtendedFormats ImageQueryDerivativeControlInterpolationFunctionTransformFeedbackGeometryStreamsStorageImageReadWithoutFormatStorageImageWriteWithoutFormat MultiViewport$fSpirEnumCapabilityWord32AddressingModelLogical Physical32 Physical64$fSpirEnumAddressingModelWord32BuiltInPosition PointSizeVertexId InstanceId PrimitiveId InvocationIdLayer ViewportIndexTessLevelOuterTessLevelInner TessCoord PatchVertices FragCoord PointCoord FrontFacingSampleIdSamplePosition SampleMask FragDepthHelperInvocation NumWorkgroups WorkgroupSize WorkgroupIdLocalInvocationIdGlobalInvocationIdLocalInvocationIndexWorkDim GlobalSizeEnqueuedWorkgroupSize GlobalOffsetGlobalLinearId SubgroupSizeSubgroupMaxSize NumSubgroupsNumEnqueuedSubgroups SubgroupIdSubgroupLocalInvocationId VertexIndex InstanceIndex$fSpirEnumBuiltInWord32 DecorationRelaxedPrecisionSpecIdBlock BufferBlockRowMajorColMajor ArrayStride MatrixStride GLSLShared GLSLPackedCPacked NoPerspectiveFlatPatchCentroidSample InvariantRestrictAliasedVolatileConstantCoherent NonWritable NonReadableUniformSaturatedConversionStreamLocation ComponentIndexBinding DescriptorSetOffset XfbBuffer XfbStride FuncParamAttrFPRoundingModeFPFastMathModeLinkageAttributes NoContractionInputAttachmentIndex Alignment$fSpirEnumDecorationWord32DimOneDTwoDThreeDCubeRectBuffer SubpassData$fSpirEnumDimWord32 ExecutionMode Invocations SpacingEqualSpacingFractionalEvenSpacingFractionalOdd VertexOrderCwVertexOrderCcwPixelCenterIntegerOriginUpperLeftOriginLowerLeftEarlyFragmentTests PointModeXfbDepthReplacing DepthGreater DepthLessDepthUnchanged LocalSize LocalSizeHint InputPoints InputLinesInputLinesAdjacency TrianglesInputTrianglesAdjacencyQuadsIsolinesOutputVertices OutputPointsOutputLineStripOutputTriangleStrip VecTypeHintContractionOff$fSpirEnumExecutionModeWord32ExecutionModelVertexTessellationControlTessellationEvaluationFragment GLCompute$fSpirEnumExecutionModelWord32NoneNotNaNNotInfNSZ AllowRecipFast$fSpirEnumFPFastMathModeWord32RTERTZRTPRTN$fSpirEnumFPRoundingModeWord32FunctionControlInline DontInlinePureConst$fSpirEnumFunctionControlWord32FunctionParameterAttributeZextSextByValSretNoAlias NoCaptureNoWrite NoReadWrite*$fSpirEnumFunctionParameterAttributeWord32GroupOperationReduce InclusiveScan ExclusiveScan$fSpirEnumGroupOperationWord32ImageChannelDataType SnormInt8 SnormInt16 UnormInt8 UnormInt16 UnormShort565 UnormShort555UnormInt101010 SignedInt8 SignedInt16 SignedInt32 UnsignedInt8 UnsignedInt16 UnsignedInt32 HalfFloatFloat UnormInt24UnormInt1010102$$fSpirEnumImageChannelDataTypeWord32ImageChannelOrderRARGRARGBRGBABGRAARGB Intensity LuminanceRxRGxRGBxDepth DepthStencilSRGBSRGBxSRGBASBGRA!$fSpirEnumImageChannelOrderWord32 ImageFormatUnknownRgba32fRgba16fR32fRgba8 Rgba8SnormRg32fRg16f R11fG11fB10fR16fRgba16Rgb10A2Rg16Rg8R16R8 Rgba16Snorm Rg16SnormRg8SnormR16SnormR8SnormRgba32iRgba16iRgba8iR32iRg32iRg16iRg8iR16iR8iRgba32uiRgba16uiRgba8uiR32ui Rgb10a2uiRg32uiRg16uiRg8uiR16uiR8ui$fSpirEnumImageFormatWord32 ImageOperandsBiasLodGrad ConstOffset ConstOffsets$fSpirEnumImageOperandsWord32KernelEnqueueFlagsNoWait WaitKernel WaitWorkGroup"$fSpirEnumKernelEnqueueFlagsWord32KernelProfilingInfo CmdExecTime#$fSpirEnumKernelProfilingInfoWord32 LinkageTypeExportImport$fSpirEnumLinkageTypeWord32 LoopControlUnroll DontUnroll$fSpirEnumLoopControlWord32 MemoryAccessAligned Nontemporal$fSpirEnumMemoryAccessWord32 MemoryModelSimpleGLSL450OpenCL$fSpirEnumMemoryModelWord32MemorySemantics NoneRelaxedAcquireReleaseAcquireReleaseSequentiallyConsistent UniformMemorySubgroupMemoryWorkgroupMemoryCrossWorkgroupMemoryAtomicCounterMemory ImageMemory$fSpirEnumMemorySemanticsWord32InstructionSizeFixedVariadicOpCodeOpNopOpUndefOpSourceContinuedOpSourceOpSourceExtensionOpName OpMemberNameOpStringOpLineOpNoLine OpDecorateOpMemberDecorateOpDecorationGroupOpGroupDecorateOpGroupMemberDecorate OpExtensionOpExtInstImport OpExtInst OpMemoryModel OpEntryPointOpExecutionMode OpCapability OpTypeVoid OpTypeBool OpTypeInt OpTypeFloat OpTypeVector OpTypeMatrix OpTypeImage OpTypeSamplerOpTypeSampledImage OpTypeArrayOpTypeRuntimeArray OpTypeStruct OpTypeOpaque OpTypePointerOpTypeFunction OpTypeEventOpTypeDeviceEventOpTypeReserveId OpTypeQueue OpTypePipeOpTypeForwardPointerOpConstantTrueOpConstantFalse OpConstantOpConstantCompositeOpConstantSamplerOpConstantNullOpSpecConstantTrueOpSpecConstantFalseOpSpecConstantOpSpecConstantCompositeOpSpecConstantOp OpVariableOpImageTexelPointerOpLoadOpStore OpCopyMemoryOpCopyMemorySized OpAccessChainOpInBoundsAccessChainOpPtrAccessChain OpArrayLengthOpGenericPtrMemSemanticsOpInBoundsPtrAccessChain OpFunctionOpFunctionParameter OpFunctionEndOpFunctionCallOpSampledImageOpImageSampleImplicitLodOpImageSampleExplicitLodOpImageSampleDrefImplicitLodOpImageSampleDrefExplicitLodOpImageSampleProjImplicitLodOpImageSampleProjExplicitLod OpImageSampleProjDrefImplicitLod OpImageSampleProjDrefExplicitLod OpImageFetch OpImageGatherOpImageDrefGather OpImageRead OpImageWriteOpImageOpImageQueryFormatOpImageQueryOrderOpImageQuerySizeLodOpImageQuerySizeOpImageQueryLodOpImageQueryLevelsOpImageQuerySamplesOpImageSparseSampleImplicitLodOpImageSparseSampleExplicitLod"OpImageSparseSampleDrefImplicitLod"OpImageSparseSampleDrefExplicitLod"OpImageSparseSampleProjImplicitLod"OpImageSparseSampleProjExplicitLod&OpImageSparseSampleProjDrefImplicitLod&OpImageSparseSampleProjDrefExplicitLodOpImageSparseFetchOpImageSparseGatherOpImageSparseDrefGatherOpImageSparseTexelsResidentOpImageSparseRead OpConvertFToU OpConvertFToS OpConvertSToF OpConvertUToF OpUConvert OpSConvert OpFConvertOpQuantizeToF16OpConvertPtrToUOpSatConvertSToUOpSatConvertUToSOpConvertUToPtrOpPtrCastToGenericOpGenericCastToPtrOpGenericCastToPtrExplicit OpBitcastOpVectorExtractDynamicOpVectorInsertDynamicOpVectorShuffleOpCompositeConstructOpCompositeExtractOpCompositeInsert OpCopyObject OpTranspose OpSNegate OpFNegateOpIAddOpFAddOpISubOpFSubOpIMulOpFMulOpUDivOpSDivOpFDivOpUModOpSRemOpSModOpFRemOpFModOpVectorTimesScalarOpMatrixTimesScalarOpVectorTimesMatrixOpMatrixTimesVectorOpMatrixTimesMatrixOpOuterProductOpDot OpIAddCarry OpISubBorrowOpUMulExtendedOpSMulExtendedOpShiftRightLogicalOpShiftRightArithmeticOpShiftLeftLogical OpBitwiseOr OpBitwiseXor OpBitwiseAndOpNotOpBitFieldInsertOpBitFieldSExtractOpBitFieldUExtract OpBitReverse OpBitCountOpAnyOpAllOpIsNanOpIsInf OpIsFinite OpIsNormal OpSignBitSetOpLessOrGreater OpOrdered OpUnorderedOpLogicalEqualOpLogicalNotEqual OpLogicalOr OpLogicalAnd OpLogicalNotOpSelectOpIEqual OpINotEqualOpUGreaterThanOpSGreaterThanOpUGreaterThanEqualOpSGreaterThanEqual OpULessThan OpSLessThanOpULessThanEqualOpSLessThanEqual OpFOrdEqual OpFUnordEqualOpFOrdNotEqualOpFUnordNotEqualOpFOrdLessThanOpFUnordLessThanOpFOrdGreaterThanOpFUnordGreaterThanOpFOrdLessThanEqualOpFUnordLessThanEqualOpFOrdGreaterThanEqualOpFUnordGreaterThanEqualOpDPdxOpDPdyOpFwidth OpDPdxFine OpDPdyFine OpFwidthFine OpDPdxCoarse OpDPdyCoarseOpFwidthCoarseOpPhi OpLoopMergeOpSelectionMergeOpLabelOpBranchOpBranchConditionalOpSwitchOpKillOpReturn OpReturnValue OpUnreachableOpLifetimeStartOpLifetimeStop OpAtomicLoad OpAtomicStoreOpAtomicExchangeOpAtomicCompareExchangeOpAtomicCompareExchangeWeakOpAtomicIIncrementOpAtomicIDecrement OpAtomicIAdd OpAtomicISub OpAtomicSMin OpAtomicUMin OpAtomicSMax OpAtomicUMax OpAtomicAnd OpAtomicOr OpAtomicXorOpAtomicFlagTestAndSetOpAtomicFlagClear OpEmitVertexOpEndPrimitiveOpEmitStreamVertexOpEndStreamPrimitiveOpControlBarrierOpMemoryBarrierOpGroupAsyncCopyOpGroupWaitEvents OpGroupAll OpGroupAnyOpGroupBroadcast OpGroupIAdd OpGroupFAdd OpGroupFMin OpGroupUMin OpGroupSMin OpGroupFMax OpGroupUMax OpGroupSMaxOpEnqueueMarkerOpEnqueueKernelOpGetKernelNDrangeSubGroupCount!OpGetKernelNDrangeMaxSubGroupSizeOpGetKernelWorkGroupSize)OpGetKernelPreferredWorkGroupSizeMultiple OpRetainEventOpReleaseEventOpCreateUserEventOpIsValidEventOpSetUserEventStatusOpCaptureEventProfilingInfoOpGetDefaultQueueOpBuildNDRange OpReadPipe OpWritePipeOpReservedReadPipeOpReservedWritePipeOpReserveReadPipePacketsOpReserveWritePipePacketsOpCommitReadPipeOpCommitWritePipeOpIsValidReserveIdOpGetNumPipePacketsOpGetMaxPipePacketsOpGroupReserveReadPipePacketsOpGroupReserveWritePipePacketsOpGroupCommitReadPipeOpGroupCommitWritePipeinstructionSize$fSpirEnumOpCodeWord16SamplerAddressingMode ClampToEdgeClampRepeatRepeatMirrored%$fSpirEnumSamplerAddressingModeWord32SamplerFilterModeNearestLinear!$fSpirEnumSamplerFilterModeWord32Scope CrossDeviceDevice WorkgroupSubgroup Invocation$fSpirEnumScopeWord32SelectionControlFlatten DontFlatten $fSpirEnumSelectionControlWord32SourceLanguageESSLGLSLOpenCLC OpenCLCPP$fSpirEnumSourceLanguageWord32 StorageClassUniformConstantInputOutputCrossWorkgroupPrivateFunctionGeneric PushConstant AtomicCounterImage$fSpirEnumStorageClassWord32AccessQualifierReadOnly WriteOnly ReadWrite$fSpirEnumAccessQualifierWord32