yum-mirror/glslang
git clone https://git.yummers.dev/yum-mirror/glslang
6309d623
main
1// 2// Copyright (C) 2014-2015 LunarG, Inc. 3// Copyright (C) 2022-2025 Arm Limited. 4// Modifications Copyright (C) 2020 Advanced Micro Devices, Inc. All rights reserved. 5// 6// All rights reserved. 7// 8// Redistribution and use in source and binary forms, with or without 9// modification, are permitted provided that the following conditions 10// are met: 11// 12// Redistributions of source code must retain the above copyright 13// notice, this list of conditions and the following disclaimer. 14// 15// Redistributions in binary form must reproduce the above 16// copyright notice, this list of conditions and the following 17// disclaimer in the documentation and/or other materials provided 18// with the distribution. 19// 20// Neither the name of 3Dlabs Inc. Ltd. nor the names of its 21// contributors may be used to endorse or promote products derived 22// from this software without specific prior written permission. 23// 24// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 25// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 26// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 27// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 28// COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 29// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 30// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 31// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 32// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 33// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 34// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 35// POSSIBILITY OF SUCH DAMAGE. 36 37// 38// 1) Programmatically fill in instruction/operand information. 39// This can be used for disassembly, printing documentation, etc. 40// 41// 2) Print documentation from this parameterization. 42// 43 44#include "doc.h" 45#include "spvUtil.h" 46 47#include <cstdio> 48#include <cstring> 49#include <algorithm> 50#include <mutex> 51 52namespace spv { 53extern "C" { 54// Include C-based headers that don't have a namespace 55#include "GLSL.ext.KHR.h" 56#include "GLSL.ext.EXT.h" 57#include "GLSL.ext.AMD.h" 58#include "GLSL.ext.NV.h" 59#include "GLSL.ext.ARM.h" 60#include "GLSL.ext.QCOM.h" 61 } 62} 63 64namespace spv { 65 66// 67// Whole set of functions that translate enumerants to their text strings for 68// the specification (or their sanitized versions for auto-generating the 69// spirv headers. 70// 71// Also, for masks the ceilings are declared next to these, to help keep them in sync. 72// Ceilings should be 73// - one more than the maximum value an enumerant takes on, for non-mask enumerants 74// (for non-sparse enums, this is the number of enumerants) 75// - the number of bits consumed by the set of masks 76// (for non-sparse mask enums, this is the number of enumerants) 77// 78 79const char * SourceString (int source ) 80{ 81switch (source ) { 82case 0 :return "Unknown" ; 83case 1 :return "ESSL" ; 84case 2 :return "GLSL" ; 85case 3 :return "OpenCL_C" ; 86case 4 :return "OpenCL_CPP" ; 87case 5 :return "HLSL" ; 88 89default :return "Bad" ; 90 } 91} 92 93const char * ExecutionModelString (int model ) 94{ 95switch (model ) { 96case 0 :return "Vertex" ; 97case 1 :return "TessellationControl" ; 98case 2 :return "TessellationEvaluation" ; 99case 3 :return "Geometry" ; 100case 4 :return "Fragment" ; 101case 5 :return "GLCompute" ; 102case 6 :return "Kernel" ; 103case (int )ExecutionModel ::TaskNV :return "TaskNV" ; 104case (int )ExecutionModel ::MeshNV :return "MeshNV" ; 105case (int )ExecutionModel ::TaskEXT :return "TaskEXT" ; 106case (int )ExecutionModel ::MeshEXT :return "MeshEXT" ; 107 108default :return "Bad" ; 109 110case (int )ExecutionModel ::RayGenerationKHR :return "RayGenerationKHR" ; 111case (int )ExecutionModel ::IntersectionKHR :return "IntersectionKHR" ; 112case (int )ExecutionModel ::AnyHitKHR :return "AnyHitKHR" ; 113case (int )ExecutionModel ::ClosestHitKHR :return "ClosestHitKHR" ; 114case (int )ExecutionModel ::MissKHR :return "MissKHR" ; 115case (int )ExecutionModel ::CallableKHR :return "CallableKHR" ; 116 } 117} 118 119const char * AddressingString (int addr ) 120{ 121switch (addr ) { 122case 0 :return "Logical" ; 123case 1 :return "Physical32" ; 124case 2 :return "Physical64" ; 125 126case (int )AddressingModel ::PhysicalStorageBuffer64EXT :return "PhysicalStorageBuffer64EXT" ; 127 128default :return "Bad" ; 129 } 130} 131 132const char * MemoryString (int mem ) 133{ 134switch (mem ) { 135case (int )MemoryModel ::Simple :return "Simple" ; 136case (int )MemoryModel ::GLSL450 :return "GLSL450" ; 137case (int )MemoryModel ::OpenCL :return "OpenCL" ; 138case (int )MemoryModel ::VulkanKHR :return "VulkanKHR" ; 139 140default :return "Bad" ; 141 } 142} 143 144const int ExecutionModeCeiling = 40 ; 145 146const char * ExecutionModeString (int mode ) 147{ 148switch (mode ) { 149case 0 :return "Invocations" ; 150case 1 :return "SpacingEqual" ; 151case 2 :return "SpacingFractionalEven" ; 152case 3 :return "SpacingFractionalOdd" ; 153case 4 :return "VertexOrderCw" ; 154case 5 :return "VertexOrderCcw" ; 155case 6 :return "PixelCenterInteger" ; 156case 7 :return "OriginUpperLeft" ; 157case 8 :return "OriginLowerLeft" ; 158case 9 :return "EarlyFragmentTests" ; 159case 10 :return "PointMode" ; 160case 11 :return "Xfb" ; 161case 12 :return "DepthReplacing" ; 162case 13 :return "Bad" ; 163case 14 :return "DepthGreater" ; 164case 15 :return "DepthLess" ; 165case 16 :return "DepthUnchanged" ; 166case 17 :return "LocalSize" ; 167case 18 :return "LocalSizeHint" ; 168case 19 :return "InputPoints" ; 169case 20 :return "InputLines" ; 170case 21 :return "InputLinesAdjacency" ; 171case 22 :return "Triangles" ; 172case 23 :return "InputTrianglesAdjacency" ; 173case 24 :return "Quads" ; 174case 25 :return "Isolines" ; 175case 26 :return "OutputVertices" ; 176case 27 :return "OutputPoints" ; 177case 28 :return "OutputLineStrip" ; 178case 29 :return "OutputTriangleStrip" ; 179case 30 :return "VecTypeHint" ; 180case 31 :return "ContractionOff" ; 181case 32 :return "Bad" ; 182 183case (int )ExecutionMode ::Initializer :return "Initializer" ; 184case (int )ExecutionMode ::Finalizer :return "Finalizer" ; 185case (int )ExecutionMode ::SubgroupSize :return "SubgroupSize" ; 186case (int )ExecutionMode ::SubgroupsPerWorkgroup :return "SubgroupsPerWorkgroup" ; 187case (int )ExecutionMode ::SubgroupsPerWorkgroupId :return "SubgroupsPerWorkgroupId" ; 188case (int )ExecutionMode ::LocalSizeId :return "LocalSizeId" ; 189case (int )ExecutionMode ::LocalSizeHintId :return "LocalSizeHintId" ; 190 191case (int )ExecutionMode ::PostDepthCoverage :return "PostDepthCoverage" ; 192case (int )ExecutionMode ::DenormPreserve :return "DenormPreserve" ; 193case (int )ExecutionMode ::DenormFlushToZero :return "DenormFlushToZero" ; 194case (int )ExecutionMode ::SignedZeroInfNanPreserve :return "SignedZeroInfNanPreserve" ; 195case (int )ExecutionMode ::RoundingModeRTE :return "RoundingModeRTE" ; 196case (int )ExecutionMode ::RoundingModeRTZ :return "RoundingModeRTZ" ; 197 198case (int )ExecutionMode ::NonCoherentTileAttachmentReadQCOM :return "NonCoherentTileAttachmentReadQCOM" ; 199case (int )ExecutionMode ::TileShadingRateQCOM :return "TileShadingRateQCOM" ; 200 201case (int )ExecutionMode ::EarlyAndLateFragmentTestsAMD :return "EarlyAndLateFragmentTestsAMD" ; 202case (int )ExecutionMode ::StencilRefUnchangedFrontAMD :return "StencilRefUnchangedFrontAMD" ; 203case (int )ExecutionMode ::StencilRefLessFrontAMD :return "StencilRefLessFrontAMD" ; 204case (int )ExecutionMode ::StencilRefGreaterBackAMD :return "StencilRefGreaterBackAMD" ; 205case (int )ExecutionMode ::StencilRefReplacingEXT :return "StencilRefReplacingEXT" ; 206case (int )ExecutionMode ::SubgroupUniformControlFlowKHR :return "SubgroupUniformControlFlow" ; 207case (int )ExecutionMode ::MaximallyReconvergesKHR :return "MaximallyReconverges" ; 208 209case (int )ExecutionMode ::OutputLinesNV :return "OutputLinesNV" ; 210case (int )ExecutionMode ::OutputPrimitivesNV :return "OutputPrimitivesNV" ; 211case (int )ExecutionMode ::OutputTrianglesNV :return "OutputTrianglesNV" ; 212 213// DerivativeGroupQuadsKHR is an alias of DerivativeGroupQuadsNV 214case (int )ExecutionMode ::DerivativeGroupQuadsKHR :return "DerivativeGroupQuadsKHR" ; 215// DerivativeGroupLinearKHR is an alias of DerivativeGroupLinearNV 216case (int )ExecutionMode ::DerivativeGroupLinearKHR :return "DerivativeGroupLinearKHR" ; 217 218case (int )ExecutionMode ::PixelInterlockOrderedEXT :return "PixelInterlockOrderedEXT" ; 219case (int )ExecutionMode ::PixelInterlockUnorderedEXT :return "PixelInterlockUnorderedEXT" ; 220case (int )ExecutionMode ::SampleInterlockOrderedEXT :return "SampleInterlockOrderedEXT" ; 221case (int )ExecutionMode ::SampleInterlockUnorderedEXT :return "SampleInterlockUnorderedEXT" ; 222case (int )ExecutionMode ::ShadingRateInterlockOrderedEXT :return "ShadingRateInterlockOrderedEXT" ; 223case (int )ExecutionMode ::ShadingRateInterlockUnorderedEXT :return "ShadingRateInterlockUnorderedEXT" ; 224 225case (int )ExecutionMode ::MaxWorkgroupSizeINTEL :return "MaxWorkgroupSizeINTEL" ; 226case (int )ExecutionMode ::MaxWorkDimINTEL :return "MaxWorkDimINTEL" ; 227case (int )ExecutionMode ::NoGlobalOffsetINTEL :return "NoGlobalOffsetINTEL" ; 228case (int )ExecutionMode ::NumSIMDWorkitemsINTEL :return "NumSIMDWorkitemsINTEL" ; 229 230case (int )ExecutionMode ::RequireFullQuadsKHR :return "RequireFullQuadsKHR" ; 231case (int )ExecutionMode ::QuadDerivativesKHR :return "QuadDerivativesKHR" ; 232 233case (int )ExecutionMode ::NonCoherentColorAttachmentReadEXT :return "NonCoherentColorAttachmentReadEXT" ; 234case (int )ExecutionMode ::NonCoherentDepthAttachmentReadEXT :return "NonCoherentDepthAttachmentReadEXT" ; 235case (int )ExecutionMode ::NonCoherentStencilAttachmentReadEXT :return "NonCoherentStencilAttachmentReadEXT" ; 236 237case (int )ExecutionMode ::Shader64BitIndexingEXT :return "Shader64BitIndexingEXT" ; 238 239case (int )ExecutionMode ::OpacityMicromapIdKHR :return "OpacityMicromapIdKHR" ; 240 241case ExecutionModeCeiling : 242default :return "Bad" ; 243 } 244} 245 246const char * StorageClassString (int StorageClass ) 247{ 248switch (StorageClass ) { 249case 0 :return "UniformConstant" ; 250case 1 :return "Input" ; 251case 2 :return "Uniform" ; 252case 3 :return "Output" ; 253case 4 :return "Workgroup" ; 254case 5 :return "CrossWorkgroup" ; 255case 6 :return "Private" ; 256case 7 :return "Function" ; 257case 8 :return "Generic" ; 258case 9 :return "PushConstant" ; 259case 10 :return "AtomicCounter" ; 260case 11 :return "Image" ; 261case 12 :return "StorageBuffer" ; 262 263case (int )StorageClass ::TileAttachmentQCOM :return "TileAttachmentQCOM" ; 264case (int )StorageClass ::RayPayloadKHR :return "RayPayloadKHR" ; 265case (int )StorageClass ::HitAttributeKHR :return "HitAttributeKHR" ; 266case (int )StorageClass ::IncomingRayPayloadKHR :return "IncomingRayPayloadKHR" ; 267case (int )StorageClass ::ShaderRecordBufferKHR :return "ShaderRecordBufferKHR" ; 268case (int )StorageClass ::CallableDataKHR :return "CallableDataKHR" ; 269case (int )StorageClass ::IncomingCallableDataKHR :return "IncomingCallableDataKHR" ; 270 271case (int )StorageClass ::PhysicalStorageBufferEXT :return "PhysicalStorageBufferEXT" ; 272case (int )StorageClass ::TaskPayloadWorkgroupEXT :return "TaskPayloadWorkgroupEXT" ; 273case (int )StorageClass ::HitObjectAttributeNV :return "HitObjectAttributeNV" ; 274case (int )StorageClass ::TileImageEXT :return "TileImageEXT" ; 275case (int )StorageClass ::HitObjectAttributeEXT :return "HitObjectAttributeEXT" ; 276default :return "Bad" ; 277 } 278} 279 280const int DecorationCeiling = 45 ; 281 282const char * DecorationString (int decoration ) 283{ 284switch (decoration ) { 285case 0 :return "RelaxedPrecision" ; 286case 1 :return "SpecId" ; 287case 2 :return "Block" ; 288case 3 :return "BufferBlock" ; 289case 4 :return "RowMajor" ; 290case 5 :return "ColMajor" ; 291case 6 :return "ArrayStride" ; 292case 7 :return "MatrixStride" ; 293case 8 :return "GLSLShared" ; 294case 9 :return "GLSLPacked" ; 295case 10 :return "CPacked" ; 296case 11 :return "BuiltIn" ; 297case 12 :return "Bad" ; 298case 13 :return "NoPerspective" ; 299case 14 :return "Flat" ; 300case 15 :return "Patch" ; 301case 16 :return "Centroid" ; 302case 17 :return "Sample" ; 303case 18 :return "Invariant" ; 304case 19 :return "Restrict" ; 305case 20 :return "Aliased" ; 306case 21 :return "Volatile" ; 307case 22 :return "Constant" ; 308case 23 :return "Coherent" ; 309case 24 :return "NonWritable" ; 310case 25 :return "NonReadable" ; 311case 26 :return "Uniform" ; 312case 27 :return "Bad" ; 313case 28 :return "SaturatedConversion" ; 314case 29 :return "Stream" ; 315case 30 :return "Location" ; 316case 31 :return "Component" ; 317case 32 :return "Index" ; 318case 33 :return "Binding" ; 319case 34 :return "DescriptorSet" ; 320case 35 :return "Offset" ; 321case 36 :return "XfbBuffer" ; 322case 37 :return "XfbStride" ; 323case 38 :return "FuncParamAttr" ; 324case 39 :return "FP Rounding Mode" ; 325case 40 :return "FP Fast Math Mode" ; 326case 41 :return "Linkage Attributes" ; 327case 42 :return "NoContraction" ; 328case 43 :return "InputAttachmentIndex" ; 329case 44 :return "Alignment" ; 330 331case DecorationCeiling : 332default :return "Bad" ; 333 334case (int )Decoration ::WeightTextureQCOM :return "DecorationWeightTextureQCOM" ; 335case (int )Decoration ::BlockMatchTextureQCOM :return "DecorationBlockMatchTextureQCOM" ; 336case (int )Decoration ::BlockMatchSamplerQCOM :return "DecorationBlockMatchSamplerQCOM" ; 337case (int )Decoration ::ExplicitInterpAMD :return "ExplicitInterpAMD" ; 338case (int )Decoration ::OverrideCoverageNV :return "OverrideCoverageNV" ; 339case (int )Decoration ::PassthroughNV :return "PassthroughNV" ; 340case (int )Decoration ::ViewportRelativeNV :return "ViewportRelativeNV" ; 341case (int )Decoration ::SecondaryViewportRelativeNV :return "SecondaryViewportRelativeNV" ; 342case (int )Decoration ::PerPrimitiveNV :return "PerPrimitiveNV" ; 343case (int )Decoration ::PerViewNV :return "PerViewNV" ; 344case (int )Decoration ::PerTaskNV :return "PerTaskNV" ; 345 346case (int )Decoration ::PerVertexKHR :return "PerVertexKHR" ; 347 348case (int )Decoration ::NonUniformEXT :return "DecorationNonUniformEXT" ; 349case (int )Decoration ::HlslCounterBufferGOOGLE :return "DecorationHlslCounterBufferGOOGLE" ; 350case (int )Decoration ::HlslSemanticGOOGLE :return "DecorationHlslSemanticGOOGLE" ; 351case (int )Decoration ::RestrictPointerEXT :return "DecorationRestrictPointerEXT" ; 352case (int )Decoration ::AliasedPointerEXT :return "DecorationAliasedPointerEXT" ; 353 354case (int )Decoration ::HitObjectShaderRecordBufferNV :return "DecorationHitObjectShaderRecordBufferNV" ; 355case (int )Decoration ::HitObjectShaderRecordBufferEXT :return "DecorationHitObjectShaderRecordBufferEXT" ; 356 357case (int )Decoration ::SaturatedToLargestFloat8NormalConversionEXT :return "DecorationSaturatedToLargestFloat8NormalConversionEXT" ; 358 359case (int )Decoration ::BankNV :return "BankNV" ; 360case (int )Decoration ::MemberOffsetNV :return "MemberOffsetNV" ; 361 362case (int )Decoration ::ArrayStrideIdEXT :return "ArrayStrideIdEXT" ; 363case (int )Decoration ::OffsetIdEXT :return "OffsetIdEXT" ; 364case (int )Decoration ::UTFEncodedKHR :return "UTFEncodedKHR" ; 365 366case (int )Decoration ::CooperativeMatrixTransposeEXT :return "DecorationCooperativeMatrixTransposeEXT" ; 367 } 368} 369 370const char * BuiltInString (int builtIn ) 371{ 372switch (builtIn ) { 373case 0 :return "Position" ; 374case 1 :return "PointSize" ; 375case 2 :return "Bad" ; 376case 3 :return "ClipDistance" ; 377case 4 :return "CullDistance" ; 378case 5 :return "VertexId" ; 379case 6 :return "InstanceId" ; 380case 7 :return "PrimitiveId" ; 381case 8 :return "InvocationId" ; 382case 9 :return "Layer" ; 383case 10 :return "ViewportIndex" ; 384case 11 :return "TessLevelOuter" ; 385case 12 :return "TessLevelInner" ; 386case 13 :return "TessCoord" ; 387case 14 :return "PatchVertices" ; 388case 15 :return "FragCoord" ; 389case 16 :return "PointCoord" ; 390case 17 :return "FrontFacing" ; 391case 18 :return "SampleId" ; 392case 19 :return "SamplePosition" ; 393case 20 :return "SampleMask" ; 394case 21 :return "Bad" ; 395case 22 :return "FragDepth" ; 396case 23 :return "HelperInvocation" ; 397case 24 :return "NumWorkgroups" ; 398case 25 :return "WorkgroupSize" ; 399case 26 :return "WorkgroupId" ; 400case 27 :return "LocalInvocationId" ; 401case 28 :return "GlobalInvocationId" ; 402case 29 :return "LocalInvocationIndex" ; 403case 30 :return "WorkDim" ; 404case 31 :return "GlobalSize" ; 405case 32 :return "EnqueuedWorkgroupSize" ; 406case 33 :return "GlobalOffset" ; 407case 34 :return "GlobalLinearId" ; 408case 35 :return "Bad" ; 409case 36 :return "SubgroupSize" ; 410case 37 :return "SubgroupMaxSize" ; 411case 38 :return "NumSubgroups" ; 412case 39 :return "NumEnqueuedSubgroups" ; 413case 40 :return "SubgroupId" ; 414case 41 :return "SubgroupLocalInvocationId" ; 415case 42 :return "VertexIndex" ;// TBD: put next to VertexId? 416case 43 :return "InstanceIndex" ;// TBD: put next to InstanceId? 417 418case 4416 :return "SubgroupEqMaskKHR" ; 419case 4417 :return "SubgroupGeMaskKHR" ; 420case 4418 :return "SubgroupGtMaskKHR" ; 421case 4419 :return "SubgroupLeMaskKHR" ; 422case 4420 :return "SubgroupLtMaskKHR" ; 423case 4438 :return "DeviceIndex" ; 424case 4440 :return "ViewIndex" ; 425case 4424 :return "BaseVertex" ; 426case 4425 :return "BaseInstance" ; 427case 4426 :return "DrawIndex" ; 428case 4432 :return "PrimitiveShadingRateKHR" ; 429case 4444 :return "ShadingRateKHR" ; 430case 5014 :return "FragStencilRefEXT" ; 431 432case (int )BuiltIn ::TileOffsetQCOM :return "TileOffsetQCOM" ; 433case (int )BuiltIn ::TileDimensionQCOM :return "TileDimensionQCOM" ; 434case (int )BuiltIn ::TileApronSizeQCOM :return "TileApronSizeQCOM" ; 435 436case 4992 :return "BaryCoordNoPerspAMD" ; 437case 4993 :return "BaryCoordNoPerspCentroidAMD" ; 438case 4994 :return "BaryCoordNoPerspSampleAMD" ; 439case 4995 :return "BaryCoordSmoothAMD" ; 440case 4996 :return "BaryCoordSmoothCentroidAMD" ; 441case 4997 :return "BaryCoordSmoothSampleAMD" ; 442case 4998 :return "BaryCoordPullModelAMD" ; 443case (int )BuiltIn ::LaunchIdKHR :return "LaunchIdKHR" ; 444case (int )BuiltIn ::LaunchSizeKHR :return "LaunchSizeKHR" ; 445case (int )BuiltIn ::WorldRayOriginKHR :return "WorldRayOriginKHR" ; 446case (int )BuiltIn ::WorldRayDirectionKHR :return "WorldRayDirectionKHR" ; 447case (int )BuiltIn ::ObjectRayOriginKHR :return "ObjectRayOriginKHR" ; 448case (int )BuiltIn ::ObjectRayDirectionKHR :return "ObjectRayDirectionKHR" ; 449case (int )BuiltIn ::RayTminKHR :return "RayTminKHR" ; 450case (int )BuiltIn ::RayTmaxKHR :return "RayTmaxKHR" ; 451case (int )BuiltIn ::CullMaskKHR :return "CullMaskKHR" ; 452case (int )BuiltIn ::HitTriangleVertexPositionsKHR :return "HitTriangleVertexPositionsKHR" ; 453case (int )BuiltIn ::HitMicroTriangleVertexPositionsNV :return "HitMicroTriangleVertexPositionsNV" ; 454case (int )BuiltIn ::HitMicroTriangleVertexBarycentricsNV :return "HitMicroTriangleVertexBarycentricsNV" ; 455case (int )BuiltIn ::HitKindFrontFacingMicroTriangleNV :return "HitKindFrontFacingMicroTriangleNV" ; 456case (int )BuiltIn ::HitKindBackFacingMicroTriangleNV :return "HitKindBackFacingMicroTriangleNV" ; 457case (int )BuiltIn ::HitIsSphereNV :return "HitIsSphereNV" ; 458case (int )BuiltIn ::HitIsLSSNV :return "HitIsLSSNV" ; 459case (int )BuiltIn ::HitSpherePositionNV :return "HitSpherePositionNV" ; 460case (int )BuiltIn ::HitSphereRadiusNV :return "HitSphereRadiusNV" ; 461case (int )BuiltIn ::HitLSSPositionsNV :return "HitLSSPositionsNV" ; 462case (int )BuiltIn ::HitLSSRadiiNV :return "HitLLSSRadiiNV" ; 463case (int )BuiltIn ::InstanceCustomIndexKHR :return "InstanceCustomIndexKHR" ; 464case (int )BuiltIn ::RayGeometryIndexKHR :return "RayGeometryIndexKHR" ; 465case (int )BuiltIn ::ObjectToWorldKHR :return "ObjectToWorldKHR" ; 466case (int )BuiltIn ::WorldToObjectKHR :return "WorldToObjectKHR" ; 467case (int )BuiltIn ::HitTNV :return "HitTNV" ; 468case (int )BuiltIn ::HitKindKHR :return "HitKindKHR" ; 469case (int )BuiltIn ::IncomingRayFlagsKHR :return "IncomingRayFlagsKHR" ; 470case (int )BuiltIn ::ViewportMaskNV :return "ViewportMaskNV" ; 471case (int )BuiltIn ::SecondaryPositionNV :return "SecondaryPositionNV" ; 472case (int )BuiltIn ::SecondaryViewportMaskNV :return "SecondaryViewportMaskNV" ; 473case (int )BuiltIn ::PositionPerViewNV :return "PositionPerViewNV" ; 474case (int )BuiltIn ::ViewportMaskPerViewNV :return "ViewportMaskPerViewNV" ; 475// case (int)BuiltIn::FragmentSizeNV: return "FragmentSizeNV"; // superseded by BuiltInFragSizeEXT 476// case (int)BuiltIn::InvocationsPerPixelNV: return "InvocationsPerPixelNV"; // superseded by BuiltInFragInvocationCountEXT 477case (int )BuiltIn ::BaryCoordKHR :return "BaryCoordKHR" ; 478case (int )BuiltIn ::BaryCoordNoPerspKHR :return "BaryCoordNoPerspKHR" ; 479case (int )BuiltIn ::ClusterIDNV :return "ClusterIDNV" ; 480 481case (int )BuiltIn ::FragSizeEXT :return "FragSizeEXT" ; 482case (int )BuiltIn ::FragInvocationCountEXT :return "FragInvocationCountEXT" ; 483 484case 5264 :return "FullyCoveredEXT" ; 485 486case (int )BuiltIn ::TaskCountNV :return "TaskCountNV" ; 487case (int )BuiltIn ::PrimitiveCountNV :return "PrimitiveCountNV" ; 488case (int )BuiltIn ::PrimitiveIndicesNV :return "PrimitiveIndicesNV" ; 489case (int )BuiltIn ::ClipDistancePerViewNV :return "ClipDistancePerViewNV" ; 490case (int )BuiltIn ::CullDistancePerViewNV :return "CullDistancePerViewNV" ; 491case (int )BuiltIn ::LayerPerViewNV :return "LayerPerViewNV" ; 492case (int )BuiltIn ::MeshViewCountNV :return "MeshViewCountNV" ; 493case (int )BuiltIn ::MeshViewIndicesNV :return "MeshViewIndicesNV" ; 494case (int )BuiltIn ::WarpsPerSMNV :return "WarpsPerSMNV" ; 495case (int )BuiltIn ::SMCountNV :return "SMCountNV" ; 496case (int )BuiltIn ::WarpIDNV :return "WarpIDNV" ; 497case (int )BuiltIn ::SMIDNV :return "SMIDNV" ; 498case (int )BuiltIn ::CurrentRayTimeNV :return "CurrentRayTimeNV" ; 499case (int )BuiltIn ::PrimitivePointIndicesEXT :return "PrimitivePointIndicesEXT" ; 500case (int )BuiltIn ::PrimitiveLineIndicesEXT :return "PrimitiveLineIndicesEXT" ; 501case (int )BuiltIn ::PrimitiveTriangleIndicesEXT :return "PrimitiveTriangleIndicesEXT" ; 502case (int )BuiltIn ::CullPrimitiveEXT :return "CullPrimitiveEXT" ; 503case (int )BuiltIn ::CoreCountARM :return "CoreCountARM" ; 504case (int )BuiltIn ::CoreIDARM :return "CoreIDARM" ; 505case (int )BuiltIn ::CoreMaxIDARM :return "CoreMaxIDARM" ; 506case (int )BuiltIn ::WarpIDARM :return "WarpIDARM" ; 507case (int )BuiltIn ::WarpMaxIDARM :return "BuiltInWarpMaxIDARM" ; 508case (int )BuiltIn ::SamplerHeapEXT :return "SamplerHeapEXT" ; 509case (int )BuiltIn ::ResourceHeapEXT :return "ResourceHeapEXT" ; 510 511default :return "Bad" ; 512 } 513} 514 515const char * DimensionString (int dim ) 516{ 517switch (dim ) { 518case 0 :return "1D" ; 519case 1 :return "2D" ; 520case 2 :return "3D" ; 521case 3 :return "Cube" ; 522case 4 :return "Rect" ; 523case 5 :return "Buffer" ; 524case 6 :return "SubpassData" ; 525case (int )Dim ::TileImageDataEXT :return "TileImageDataEXT" ; 526 527default :return "Bad" ; 528 } 529} 530 531const char * SamplerAddressingModeString (int mode ) 532{ 533switch (mode ) { 534case 0 :return "None" ; 535case 1 :return "ClampToEdge" ; 536case 2 :return "Clamp" ; 537case 3 :return "Repeat" ; 538case 4 :return "RepeatMirrored" ; 539 540default :return "Bad" ; 541 } 542} 543 544const char * SamplerFilterModeString (int mode ) 545{ 546switch (mode ) { 547case 0 :return "Nearest" ; 548case 1 :return "Linear" ; 549 550default :return "Bad" ; 551 } 552} 553 554const char * ImageFormatString (int format ) 555{ 556switch (format ) { 557case 0 :return "Unknown" ; 558 559// ES/Desktop float 560case 1 :return "Rgba32f" ; 561case 2 :return "Rgba16f" ; 562case 3 :return "R32f" ; 563case 4 :return "Rgba8" ; 564case 5 :return "Rgba8Snorm" ; 565 566// Desktop float 567case 6 :return "Rg32f" ; 568case 7 :return "Rg16f" ; 569case 8 :return "R11fG11fB10f" ; 570case 9 :return "R16f" ; 571case 10 :return "Rgba16" ; 572case 11 :return "Rgb10A2" ; 573case 12 :return "Rg16" ; 574case 13 :return "Rg8" ; 575case 14 :return "R16" ; 576case 15 :return "R8" ; 577case 16 :return "Rgba16Snorm" ; 578case 17 :return "Rg16Snorm" ; 579case 18 :return "Rg8Snorm" ; 580case 19 :return "R16Snorm" ; 581case 20 :return "R8Snorm" ; 582 583// ES/Desktop int 584case 21 :return "Rgba32i" ; 585case 22 :return "Rgba16i" ; 586case 23 :return "Rgba8i" ; 587case 24 :return "R32i" ; 588 589// Desktop int 590case 25 :return "Rg32i" ; 591case 26 :return "Rg16i" ; 592case 27 :return "Rg8i" ; 593case 28 :return "R16i" ; 594case 29 :return "R8i" ; 595 596// ES/Desktop uint 597case 30 :return "Rgba32ui" ; 598case 31 :return "Rgba16ui" ; 599case 32 :return "Rgba8ui" ; 600case 33 :return "R32ui" ; 601 602// Desktop uint 603case 34 :return "Rgb10a2ui" ; 604case 35 :return "Rg32ui" ; 605case 36 :return "Rg16ui" ; 606case 37 :return "Rg8ui" ; 607case 38 :return "R16ui" ; 608case 39 :return "R8ui" ; 609case 40 :return "R64ui" ; 610case 41 :return "R64i" ; 611 612default : 613return "Bad" ; 614 } 615} 616 617const char * ImageChannelOrderString (int format ) 618{ 619switch (format ) { 620case 0 :return "R" ; 621case 1 :return "A" ; 622case 2 :return "RG" ; 623case 3 :return "RA" ; 624case 4 :return "RGB" ; 625case 5 :return "RGBA" ; 626case 6 :return "BGRA" ; 627case 7 :return "ARGB" ; 628case 8 :return "Intensity" ; 629case 9 :return "Luminance" ; 630case 10 :return "Rx" ; 631case 11 :return "RGx" ; 632case 12 :return "RGBx" ; 633case 13 :return "Depth" ; 634case 14 :return "DepthStencil" ; 635case 15 :return "sRGB" ; 636case 16 :return "sRGBx" ; 637case 17 :return "sRGBA" ; 638case 18 :return "sBGRA" ; 639 640default : 641return "Bad" ; 642 } 643} 644 645const char * ImageChannelDataTypeString (int type ) 646{ 647switch (type ) 648 { 649case 0 :return "SnormInt8" ; 650case 1 :return "SnormInt16" ; 651case 2 :return "UnormInt8" ; 652case 3 :return "UnormInt16" ; 653case 4 :return "UnormShort565" ; 654case 5 :return "UnormShort555" ; 655case 6 :return "UnormInt101010" ; 656case 7 :return "SignedInt8" ; 657case 8 :return "SignedInt16" ; 658case 9 :return "SignedInt32" ; 659case 10 :return "UnsignedInt8" ; 660case 11 :return "UnsignedInt16" ; 661case 12 :return "UnsignedInt32" ; 662case 13 :return "HalfFloat" ; 663case 14 :return "Float" ; 664case 15 :return "UnormInt24" ; 665case 16 :return "UnormInt101010_2" ; 666 667default : 668return "Bad" ; 669 } 670} 671 672const int ImageOperandsCeiling = 17 ; 673 674const char * ImageOperandsString (int format ) 675{ 676switch (format ) { 677case (int )ImageOperandsShift ::Bias :return "Bias" ; 678case (int )ImageOperandsShift ::Lod :return "Lod" ; 679case (int )ImageOperandsShift ::Grad :return "Grad" ; 680case (int )ImageOperandsShift ::ConstOffset :return "ConstOffset" ; 681case (int )ImageOperandsShift ::Offset :return "Offset" ; 682case (int )ImageOperandsShift ::ConstOffsets :return "ConstOffsets" ; 683case (int )ImageOperandsShift ::Sample :return "Sample" ; 684case (int )ImageOperandsShift ::MinLod :return "MinLod" ; 685case (int )ImageOperandsShift ::MakeTexelAvailableKHR :return "MakeTexelAvailableKHR" ; 686case (int )ImageOperandsShift ::MakeTexelVisibleKHR :return "MakeTexelVisibleKHR" ; 687case (int )ImageOperandsShift ::NonPrivateTexelKHR :return "NonPrivateTexelKHR" ; 688case (int )ImageOperandsShift ::VolatileTexelKHR :return "VolatileTexelKHR" ; 689case (int )ImageOperandsShift ::SignExtend :return "SignExtend" ; 690case (int )ImageOperandsShift ::ZeroExtend :return "ZeroExtend" ; 691case (int )ImageOperandsShift ::Nontemporal :return "Nontemporal" ; 692case (int )ImageOperandsShift ::Offsets :return "Offsets" ; 693 694case ImageOperandsCeiling : 695default : 696return "Bad" ; 697 } 698} 699 700const char * FPFastMathString (int mode ) 701{ 702switch (mode ) { 703case 0 :return "NotNaN" ; 704case 1 :return "NotInf" ; 705case 2 :return "NSZ" ; 706case 3 :return "AllowRecip" ; 707case 4 :return "Fast" ; 708 709default :return "Bad" ; 710 } 711} 712 713const char * FPRoundingModeString (int mode ) 714{ 715switch (mode ) { 716case 0 :return "RTE" ; 717case 1 :return "RTZ" ; 718case 2 :return "RTP" ; 719case 3 :return "RTN" ; 720 721default :return "Bad" ; 722 } 723} 724 725const char * LinkageTypeString (int type ) 726{ 727switch (type ) { 728case 0 :return "Export" ; 729case 1 :return "Import" ; 730 731default :return "Bad" ; 732 } 733} 734 735const char * FuncParamAttrString (int attr ) 736{ 737switch (attr ) { 738case 0 :return "Zext" ; 739case 1 :return "Sext" ; 740case 2 :return "ByVal" ; 741case 3 :return "Sret" ; 742case 4 :return "NoAlias" ; 743case 5 :return "NoCapture" ; 744case 6 :return "NoWrite" ; 745case 7 :return "NoReadWrite" ; 746 747default :return "Bad" ; 748 } 749} 750 751const char * AccessQualifierString (int attr ) 752{ 753switch (attr ) { 754case 0 :return "ReadOnly" ; 755case 1 :return "WriteOnly" ; 756case 2 :return "ReadWrite" ; 757 758default :return "Bad" ; 759 } 760} 761 762const int SelectControlCeiling = 2 ; 763 764const char * SelectControlString (int cont ) 765{ 766switch (cont ) { 767case 0 :return "Flatten" ; 768case 1 :return "DontFlatten" ; 769 770case SelectControlCeiling : 771default :return "Bad" ; 772 } 773} 774 775const int LoopControlCeiling = (int )LoopControlShift ::PartialCount + 1 ; 776 777const char * LoopControlString (int cont ) 778{ 779switch (cont ) { 780case (int )LoopControlShift ::Unroll :return "Unroll" ; 781case (int )LoopControlShift ::DontUnroll :return "DontUnroll" ; 782case (int )LoopControlShift ::DependencyInfinite :return "DependencyInfinite" ; 783case (int )LoopControlShift ::DependencyLength :return "DependencyLength" ; 784case (int )LoopControlShift ::MinIterations :return "MinIterations" ; 785case (int )LoopControlShift ::MaxIterations :return "MaxIterations" ; 786case (int )LoopControlShift ::IterationMultiple :return "IterationMultiple" ; 787case (int )LoopControlShift ::PeelCount :return "PeelCount" ; 788case (int )LoopControlShift ::PartialCount :return "PartialCount" ; 789case (int )LoopControlShift ::MultipleWaitQueuesQCOM :return "MultipeWaitQueuesQCOM" ; 790 791case LoopControlCeiling : 792default :return "Bad" ; 793 } 794} 795 796const int FunctionControlCeiling = 4 ; 797 798const char * FunctionControlString (int cont ) 799{ 800switch (cont ) { 801case 0 :return "Inline" ; 802case 1 :return "DontInline" ; 803case 2 :return "Pure" ; 804case 3 :return "Const" ; 805 806case FunctionControlCeiling : 807default :return "Bad" ; 808 } 809} 810 811const char * MemorySemanticsString (int mem ) 812{ 813// Note: No bits set (None) means "Relaxed" 814switch (mem ) { 815case 0 :return "Bad" ;// Note: this is a placeholder for 'Consume' 816case 1 :return "Acquire" ; 817case 2 :return "Release" ; 818case 3 :return "AcquireRelease" ; 819case 4 :return "SequentiallyConsistent" ; 820case 5 :return "Bad" ;// Note: reserved for future expansion 821case 6 :return "UniformMemory" ; 822case 7 :return "SubgroupMemory" ; 823case 8 :return "WorkgroupMemory" ; 824case 9 :return "CrossWorkgroupMemory" ; 825case 10 :return "AtomicCounterMemory" ; 826case 11 :return "ImageMemory" ; 827 828default :return "Bad" ; 829 } 830} 831 832const int MemoryAccessCeiling = 6 ; 833 834const char * MemoryAccessString (int mem ) 835{ 836switch (mem ) { 837case (int )MemoryAccessShift ::Volatile :return "Volatile" ; 838case (int )MemoryAccessShift ::Aligned :return "Aligned" ; 839case (int )MemoryAccessShift ::Nontemporal :return "Nontemporal" ; 840case (int )MemoryAccessShift ::MakePointerAvailableKHR :return "MakePointerAvailableKHR" ; 841case (int )MemoryAccessShift ::MakePointerVisibleKHR :return "MakePointerVisibleKHR" ; 842case (int )MemoryAccessShift ::NonPrivatePointerKHR :return "NonPrivatePointerKHR" ; 843 844default :return "Bad" ; 845 } 846} 847 848const int CooperativeMatrixOperandsCeiling = 6 ; 849 850const char * CooperativeMatrixOperandsString (int op ) 851{ 852switch (op ) { 853case (int )CooperativeMatrixOperandsShift ::MatrixASignedComponentsKHR :return "ASignedComponentsKHR" ; 854case (int )CooperativeMatrixOperandsShift ::MatrixBSignedComponentsKHR :return "BSignedComponentsKHR" ; 855case (int )CooperativeMatrixOperandsShift ::MatrixCSignedComponentsKHR :return "CSignedComponentsKHR" ; 856case (int )CooperativeMatrixOperandsShift ::MatrixResultSignedComponentsKHR :return "ResultSignedComponentsKHR" ; 857case (int )CooperativeMatrixOperandsShift ::SaturatingAccumulationKHR :return "SaturatingAccumulationKHR" ; 858 859default :return "Bad" ; 860 } 861} 862 863const int TensorAddressingOperandsCeiling = 4 ; 864 865const char * TensorAddressingOperandsString (int op ) 866{ 867switch (op ) { 868case (int )TensorAddressingOperandsShift ::TensorView :return "TensorView" ; 869case (int )TensorAddressingOperandsShift ::DecodeFunc :return "DecodeFunc" ; 870case (int )TensorAddressingOperandsShift ::DecodeVectorFunc :return "DecodeVectorFunc" ; 871 872default :return "Bad" ; 873 } 874} 875 876const char * ScopeString (int mem ) 877{ 878switch (mem ) { 879case 0 :return "CrossDevice" ; 880case 1 :return "Device" ; 881case 2 :return "Workgroup" ; 882case 3 :return "Subgroup" ; 883case 4 :return "Invocation" ; 884 885default :return "Bad" ; 886 } 887} 888 889const char * GroupOperationString (int gop ) 890{ 891 892switch (gop ) 893 { 894case (int )GroupOperation ::Reduce :return "Reduce" ; 895case (int )GroupOperation ::InclusiveScan :return "InclusiveScan" ; 896case (int )GroupOperation ::ExclusiveScan :return "ExclusiveScan" ; 897case (int )GroupOperation ::ClusteredReduce :return "ClusteredReduce" ; 898case (int )GroupOperation ::PartitionedReduceNV :return "PartitionedReduceNV" ; 899case (int )GroupOperation ::PartitionedInclusiveScanNV :return "PartitionedInclusiveScanNV" ; 900case (int )GroupOperation ::PartitionedExclusiveScanNV :return "PartitionedExclusiveScanNV" ; 901 902default :return "Bad" ; 903 } 904} 905 906const char * KernelEnqueueFlagsString (int flag ) 907{ 908switch (flag ) 909 { 910case 0 :return "NoWait" ; 911case 1 :return "WaitKernel" ; 912case 2 :return "WaitWorkGroup" ; 913 914default :return "Bad" ; 915 } 916} 917 918const char * KernelProfilingInfoString (int info ) 919{ 920switch (info ) 921 { 922case 0 :return "CmdExecTime" ; 923 924default :return "Bad" ; 925 } 926} 927 928const char * CapabilityString (int info ) 929{ 930switch (info ) 931 { 932case 0 :return "Matrix" ; 933case 1 :return "Shader" ; 934case 2 :return "Geometry" ; 935case 3 :return "Tessellation" ; 936case 4 :return "Addresses" ; 937case 5 :return "Linkage" ; 938case 6 :return "Kernel" ; 939case 7 :return "Vector16" ; 940case 8 :return "Float16Buffer" ; 941case 9 :return "Float16" ; 942case 10 :return "Float64" ; 943case 11 :return "Int64" ; 944case 12 :return "Int64Atomics" ; 945case 13 :return "ImageBasic" ; 946case 14 :return "ImageReadWrite" ; 947case 15 :return "ImageMipmap" ; 948case 16 :return "Bad" ; 949case 17 :return "Pipes" ; 950case 18 :return "Groups" ; 951case 19 :return "DeviceEnqueue" ; 952case 20 :return "LiteralSampler" ; 953case 21 :return "AtomicStorage" ; 954case 22 :return "Int16" ; 955case 23 :return "TessellationPointSize" ; 956case 24 :return "GeometryPointSize" ; 957case 25 :return "ImageGatherExtended" ; 958case 26 :return "Bad" ; 959case 27 :return "StorageImageMultisample" ; 960case 28 :return "UniformBufferArrayDynamicIndexing" ; 961case 29 :return "SampledImageArrayDynamicIndexing" ; 962case 30 :return "StorageBufferArrayDynamicIndexing" ; 963case 31 :return "StorageImageArrayDynamicIndexing" ; 964case 32 :return "ClipDistance" ; 965case 33 :return "CullDistance" ; 966case 34 :return "ImageCubeArray" ; 967case 35 :return "SampleRateShading" ; 968case 36 :return "ImageRect" ; 969case 37 :return "SampledRect" ; 970case 38 :return "GenericPointer" ; 971case 39 :return "Int8" ; 972case 40 :return "InputAttachment" ; 973case 41 :return "SparseResidency" ; 974case 42 :return "MinLod" ; 975case 43 :return "Sampled1D" ; 976case 44 :return "Image1D" ; 977case 45 :return "SampledCubeArray" ; 978case 46 :return "SampledBuffer" ; 979case 47 :return "ImageBuffer" ; 980case 48 :return "ImageMSArray" ; 981case 49 :return "StorageImageExtendedFormats" ; 982case 50 :return "ImageQuery" ; 983case 51 :return "DerivativeControl" ; 984case 52 :return "InterpolationFunction" ; 985case 53 :return "TransformFeedback" ; 986case 54 :return "GeometryStreams" ; 987case 55 :return "StorageImageReadWithoutFormat" ; 988case 56 :return "StorageImageWriteWithoutFormat" ; 989case 57 :return "MultiViewport" ; 990case 61 :return "GroupNonUniform" ; 991case 62 :return "GroupNonUniformVote" ; 992case 63 :return "GroupNonUniformArithmetic" ; 993case 64 :return "GroupNonUniformBallot" ; 994case 65 :return "GroupNonUniformShuffle" ; 995case 66 :return "GroupNonUniformShuffleRelative" ; 996case 67 :return "GroupNonUniformClustered" ; 997case 68 :return "GroupNonUniformQuad" ; 998 999case (int )Capability ::SubgroupBallotKHR :return "SubgroupBallotKHR" ; 1000case (int )Capability ::DrawParameters :return "DrawParameters" ; 1001case (int )Capability ::SubgroupVoteKHR :return "SubgroupVoteKHR" ; 1002case (int )Capability ::GroupNonUniformRotateKHR :return "GroupNonUniformRotateKHR" ; 1003 1004case (int )Capability ::StorageUniformBufferBlock16 :return "StorageUniformBufferBlock16" ; 1005case (int )Capability ::StorageUniform16 :return "StorageUniform16" ; 1006case (int )Capability ::StoragePushConstant16 :return "StoragePushConstant16" ; 1007case (int )Capability ::StorageInputOutput16 :return "StorageInputOutput16" ; 1008 1009case (int )Capability ::StorageBuffer8BitAccess :return "StorageBuffer8BitAccess" ; 1010case (int )Capability ::UniformAndStorageBuffer8BitAccess :return "UniformAndStorageBuffer8BitAccess" ; 1011case (int )Capability ::StoragePushConstant8 :return "StoragePushConstant8" ; 1012 1013case (int )Capability ::DeviceGroup :return "DeviceGroup" ; 1014case (int )Capability ::MultiView :return "MultiView" ; 1015 1016case (int )Capability ::DenormPreserve :return "DenormPreserve" ; 1017case (int )Capability ::DenormFlushToZero :return "DenormFlushToZero" ; 1018case (int )Capability ::SignedZeroInfNanPreserve :return "SignedZeroInfNanPreserve" ; 1019case (int )Capability ::RoundingModeRTE :return "RoundingModeRTE" ; 1020case (int )Capability ::RoundingModeRTZ :return "RoundingModeRTZ" ; 1021 1022case (int )Capability ::StencilExportEXT :return "StencilExportEXT" ; 1023 1024case (int )Capability ::Float16ImageAMD :return "Float16ImageAMD" ; 1025case (int )Capability ::ImageGatherBiasLodAMD :return "ImageGatherBiasLodAMD" ; 1026case (int )Capability ::FragmentMaskAMD :return "FragmentMaskAMD" ; 1027case (int )Capability ::ImageReadWriteLodAMD :return "ImageReadWriteLodAMD" ; 1028 1029case (int )Capability ::AtomicStorageOps :return "AtomicStorageOps" ; 1030 1031case (int )Capability ::SampleMaskPostDepthCoverage :return "SampleMaskPostDepthCoverage" ; 1032case (int )Capability ::GeometryShaderPassthroughNV :return "GeometryShaderPassthroughNV" ; 1033case (int )Capability ::ShaderViewportIndexLayerNV :return "ShaderViewportIndexLayerNV" ; 1034case (int )Capability ::ShaderViewportMaskNV :return "ShaderViewportMaskNV" ; 1035case (int )Capability ::ShaderStereoViewNV :return "ShaderStereoViewNV" ; 1036case (int )Capability ::PerViewAttributesNV :return "PerViewAttributesNV" ; 1037case (int )Capability ::GroupNonUniformPartitionedNV :return "GroupNonUniformPartitionedNV" ; 1038case (int )Capability ::RayTracingNV :return "RayTracingNV" ; 1039case (int )Capability ::RayTracingMotionBlurNV :return "RayTracingMotionBlurNV" ; 1040case (int )Capability ::RayTracingKHR :return "RayTracingKHR" ; 1041case (int )Capability ::RayCullMaskKHR :return "RayCullMaskKHR" ; 1042case (int )Capability ::RayQueryKHR :return "RayQueryKHR" ; 1043case (int )Capability ::RayTracingProvisionalKHR :return "RayTracingProvisionalKHR" ; 1044case (int )Capability ::RayTraversalPrimitiveCullingKHR :return "RayTraversalPrimitiveCullingKHR" ; 1045case (int )Capability ::RayTracingPositionFetchKHR :return "RayTracingPositionFetchKHR" ; 1046case (int )Capability ::DisplacementMicromapNV :return "DisplacementMicromapNV" ; 1047case (int )Capability ::RayTracingOpacityMicromapEXT :return "RayTracingOpacityMicromapEXT" ; 1048case (int )Capability ::RayTracingOpacityMicromapExecutionModeKHR :return "RayTracingOpacityMicromapExecutionModeKHR" ; 1049case (int )Capability ::RayTracingDisplacementMicromapNV :return "RayTracingDisplacementMicromapNV" ; 1050case (int )Capability ::RayQueryPositionFetchKHR :return "RayQueryPositionFetchKHR" ; 1051// ComputeDerivativeGroupQuadsKHR is an alias of ComputeDerivativeGroupQuadsNV 1052case (int )Capability ::ComputeDerivativeGroupQuadsKHR :return "ComputeDerivativeGroupQuadsKHR" ; 1053// ComputeDerivativeGroupLinearKHR is an alias of ComputeDerivativeGroupLinearNV 1054case (int )Capability ::ComputeDerivativeGroupLinearKHR :return "ComputeDerivativeGroupLinearKHR" ; 1055case (int )Capability ::FragmentBarycentricKHR :return "FragmentBarycentricKHR" ; 1056case (int )Capability ::MeshShadingNV :return "MeshShadingNV" ; 1057case (int )Capability ::ImageFootprintNV :return "ImageFootprintNV" ; 1058case (int )Capability ::MeshShadingEXT :return "MeshShadingEXT" ; 1059// case (int)Capability::ShadingRateNV: return "ShadingRateNV"; // superseded by FragmentDensityEXT 1060case (int )Capability ::SampleMaskOverrideCoverageNV :return "SampleMaskOverrideCoverageNV" ; 1061case (int )Capability ::FragmentDensityEXT :return "FragmentDensityEXT" ; 1062 1063case (int )Capability ::FragmentFullyCoveredEXT :return "FragmentFullyCoveredEXT" ; 1064 1065case (int )Capability ::ShaderNonUniformEXT :return "ShaderNonUniformEXT" ; 1066case (int )Capability ::RuntimeDescriptorArrayEXT :return "RuntimeDescriptorArrayEXT" ; 1067case (int )Capability ::InputAttachmentArrayDynamicIndexingEXT :return "InputAttachmentArrayDynamicIndexingEXT" ; 1068case (int )Capability ::UniformTexelBufferArrayDynamicIndexingEXT :return "UniformTexelBufferArrayDynamicIndexingEXT" ; 1069case (int )Capability ::StorageTexelBufferArrayDynamicIndexingEXT :return "StorageTexelBufferArrayDynamicIndexingEXT" ; 1070case (int )Capability ::UniformBufferArrayNonUniformIndexingEXT :return "UniformBufferArrayNonUniformIndexingEXT" ; 1071case (int )Capability ::SampledImageArrayNonUniformIndexingEXT :return "SampledImageArrayNonUniformIndexingEXT" ; 1072case (int )Capability ::StorageBufferArrayNonUniformIndexingEXT :return "StorageBufferArrayNonUniformIndexingEXT" ; 1073case (int )Capability ::StorageImageArrayNonUniformIndexingEXT :return "StorageImageArrayNonUniformIndexingEXT" ; 1074case (int )Capability ::InputAttachmentArrayNonUniformIndexingEXT :return "InputAttachmentArrayNonUniformIndexingEXT" ; 1075case (int )Capability ::UniformTexelBufferArrayNonUniformIndexingEXT :return "UniformTexelBufferArrayNonUniformIndexingEXT" ; 1076case (int )Capability ::StorageTexelBufferArrayNonUniformIndexingEXT :return "StorageTexelBufferArrayNonUniformIndexingEXT" ; 1077 1078case (int )Capability ::VulkanMemoryModelKHR :return "VulkanMemoryModelKHR" ; 1079case (int )Capability ::VulkanMemoryModelDeviceScopeKHR :return "VulkanMemoryModelDeviceScopeKHR" ; 1080 1081case (int )Capability ::PhysicalStorageBufferAddressesEXT :return "PhysicalStorageBufferAddressesEXT" ; 1082 1083case (int )Capability ::VariablePointers :return "VariablePointers" ; 1084 1085case (int )Capability ::CooperativeMatrixNV :return "CooperativeMatrixNV" ; 1086case (int )Capability ::CooperativeMatrixKHR :return "CooperativeMatrixKHR" ; 1087case (int )Capability ::CooperativeMatrixReductionsNV :return "CooperativeMatrixReductionsNV" ; 1088case (int )Capability ::CooperativeMatrixConversionsNV :return "CooperativeMatrixConversionsNV" ; 1089case (int )Capability ::CooperativeMatrixPerElementOperationsNV :return "CooperativeMatrixPerElementOperationsNV" ; 1090case (int )Capability ::CooperativeMatrixTensorAddressingNV :return "CooperativeMatrixTensorAddressingNV" ; 1091case (int )Capability ::CooperativeMatrixBlockLoadsNV :return "CooperativeMatrixBlockLoadsNV" ; 1092case (int )Capability ::CooperativeMatrixDecodeVectorNV :return "CooperativeMatrixDecodeVectorNV" ; 1093case (int )Capability ::TensorAddressingNV :return "TensorAddressingNV" ; 1094case (int )Capability ::CooperativeMatrixConversionsEXT :return "CooperativeMatrixConversionsEXT" ; 1095case (int )Capability ::CooperativeMatrixGetCoordinateEXT :return "CooperativeMatrixGetCoordinateEXT" ; 1096 1097case (int )Capability ::ShaderSMBuiltinsNV :return "ShaderSMBuiltinsNV" ; 1098 1099case (int )Capability ::CooperativeVectorNV :return "CooperativeVectorNV" ; 1100case (int )Capability ::CooperativeVectorTrainingNV :return "CooperativeVectorTrainingNV" ; 1101 1102case (int )Capability ::FragmentShaderSampleInterlockEXT :return "FragmentShaderSampleInterlockEXT" ; 1103case (int )Capability ::FragmentShaderPixelInterlockEXT :return "FragmentShaderPixelInterlockEXT" ; 1104case (int )Capability ::FragmentShaderShadingRateInterlockEXT :return "FragmentShaderShadingRateInterlockEXT" ; 1105 1106case (int )Capability ::TileImageColorReadAccessEXT :return "TileImageColorReadAccessEXT" ; 1107case (int )Capability ::TileImageDepthReadAccessEXT :return "TileImageDepthReadAccessEXT" ; 1108case (int )Capability ::TileImageStencilReadAccessEXT :return "TileImageStencilReadAccessEXT" ; 1109 1110case (int )Capability ::CooperativeMatrixLayoutsARM :return "CooperativeMatrixLayoutsARM" ; 1111case (int )Capability ::TensorsARM :return "TensorsARM" ; 1112 1113case (int )Capability ::FragmentShadingRateKHR :return "FragmentShadingRateKHR" ; 1114 1115case (int )Capability ::DemoteToHelperInvocationEXT :return "DemoteToHelperInvocationEXT" ; 1116case (int )Capability ::AtomicFloat16VectorNV :return "AtomicFloat16VectorNV" ; 1117case (int )Capability ::ShaderClockKHR :return "ShaderClockKHR" ; 1118case (int )Capability ::QuadControlKHR :return "QuadControlKHR" ; 1119case (int )Capability ::Int64ImageEXT :return "Int64ImageEXT" ; 1120case (int )Capability ::DescriptorHeapEXT :return "DescriptorHeapEXT" ; 1121case (int )Capability ::UntypedPointersKHR :return "UntypedPointersKHR" ; 1122 1123case (int )Capability ::IntegerFunctions2INTEL :return "IntegerFunctions2INTEL" ; 1124 1125case (int )Capability ::ExpectAssumeKHR :return "ExpectAssumeKHR" ; 1126case (int )Capability ::AbortKHR :return "AbortKHR" ; 1127case (int )Capability ::ConstantDataKHR :return "ConstantDataKHR" ; 1128 1129case (int )Capability ::AtomicFloat16AddEXT :return "AtomicFloat16AddEXT" ; 1130case (int )Capability ::AtomicFloat32AddEXT :return "AtomicFloat32AddEXT" ; 1131case (int )Capability ::AtomicFloat64AddEXT :return "AtomicFloat64AddEXT" ; 1132case (int )Capability ::AtomicFloat16MinMaxEXT :return "AtomicFloat16MinMaxEXT" ; 1133case (int )Capability ::AtomicFloat32MinMaxEXT :return "AtomicFloat32MinMaxEXT" ; 1134case (int )Capability ::AtomicFloat64MinMaxEXT :return "AtomicFloat64MinMaxEXT" ; 1135 1136case (int )Capability ::WorkgroupMemoryExplicitLayoutKHR :return "WorkgroupMemoryExplicitLayoutKHR" ; 1137case (int )Capability ::WorkgroupMemoryExplicitLayout8BitAccessKHR :return "WorkgroupMemoryExplicitLayout8BitAccessKHR" ; 1138case (int )Capability ::WorkgroupMemoryExplicitLayout16BitAccessKHR :return "WorkgroupMemoryExplicitLayout16BitAccessKHR" ; 1139case (int )Capability ::CoreBuiltinsARM :return "CoreBuiltinsARM" ; 1140 1141case (int )Capability ::ShaderInvocationReorderNV :return "ShaderInvocationReorderNV" ; 1142case (int )Capability ::ShaderInvocationReorderEXT :return "ShaderInvocationReorderEXT" ; 1143 1144case (int )Capability ::TextureSampleWeightedQCOM :return "TextureSampleWeightedQCOM" ; 1145case (int )Capability ::TextureBoxFilterQCOM :return "TextureBoxFilterQCOM" ; 1146case (int )Capability ::TextureBlockMatchQCOM :return "TextureBlockMatchQCOM" ; 1147case (int )Capability ::TileShadingQCOM :return "TileShadingQCOM" ; 1148case (int )Capability ::TextureBlockMatch2QCOM :return "TextureBlockMatch2QCOM" ; 1149 1150case (int )Capability ::CooperativeMatrixConversionQCOM :return "CooperativeMatrixConversionQCOM" ; 1151case (int )Capability ::ImageGatherLinearQCOM :return "ImageGatherLinearQCOM" ; 1152case (int )Capability ::ImageGatherExtendedModesQCOM :return "ImageGatherExtendedModesQCOM" ; 1153 1154case (int )Capability ::ReplicatedCompositesEXT :return "ReplicatedCompositesEXT" ; 1155 1156case (int )Capability ::DotProductKHR :return "DotProductKHR" ; 1157case (int )Capability ::DotProductInputAllKHR :return "DotProductInputAllKHR" ; 1158case (int )Capability ::DotProductInput4x8BitKHR :return "DotProductInput4x8BitKHR" ; 1159case (int )Capability ::DotProductInput4x8BitPackedKHR :return "DotProductInput4x8BitPackedKHR" ; 1160 1161case (int )Capability ::RayTracingClusterAccelerationStructureNV :return "RayTracingClusterAccelerationStructureNV" ; 1162 1163case (int )Capability ::RayTracingSpheresGeometryNV :return "RayTracingSpheresGeometryNV" ; 1164case (int )Capability ::RayTracingLinearSweptSpheresGeometryNV :return "RayTracingLinearSweptSpheresGeometryNV" ; 1165 1166case (int )Capability ::BFloat16TypeKHR :return "BFloat16TypeKHR" ; 1167case (int )Capability ::BFloat16DotProductKHR :return "BFloat16DotProductKHR" ; 1168case (int )Capability ::BFloat16CooperativeMatrixKHR :return "BFloat16CooperativeMatrixKHR" ; 1169 1170case (int )Capability ::Float8EXT :return "Float8EXT" ; 1171case (int )Capability ::Float8CooperativeMatrixEXT :return "Float8CooperativeMatrixEXT" ; 1172 1173case (int )Capability ::PushConstantBanksNV :return "PushConstantBanksNV" ; 1174 1175case (int )Capability ::Shader64BitIndexingEXT :return "CapabilityShader64BitIndexingEXT" ; 1176case (int )Capability ::LongVectorEXT :return "LongVectorEXT" ; 1177case (int )Capability ::SplitBarrierEXT :return "SplitBarrierEXT" ; 1178 1179case (int )Capability ::Float4EXT :return "Float4EXT" ; 1180case (int )Capability ::Float6EXT :return "Float6EXT" ; 1181case (int )Capability ::Float8UnsignedE8M0EXT :return "Float8UnsignedE8M0EXT" ; 1182case (int )Capability ::MXInt8EXT :return "MXInt8EXT" ; 1183case (int )Capability ::BitcastExtractEXT :return "BitcastExtractEXT" ; 1184 1185default :return "Bad" ; 1186 } 1187} 1188 1189const char * OpcodeString (int op ) 1190{ 1191switch (op ) { 1192case 0 :return "OpNop" ; 1193case 1 :return "OpUndef" ; 1194case 2 :return "OpSourceContinued" ; 1195case 3 :return "OpSource" ; 1196case 4 :return "OpSourceExtension" ; 1197case 5 :return "OpName" ; 1198case 6 :return "OpMemberName" ; 1199case 7 :return "OpString" ; 1200case 8 :return "OpLine" ; 1201case 9 :return "Bad" ; 1202case 10 :return "OpExtension" ; 1203case 11 :return "OpExtInstImport" ; 1204case 12 :return "OpExtInst" ; 1205case 13 :return "Bad" ; 1206case 14 :return "OpMemoryModel" ; 1207case 15 :return "OpEntryPoint" ; 1208case 16 :return "OpExecutionMode" ; 1209case 17 :return "OpCapability" ; 1210case 18 :return "Bad" ; 1211case 19 :return "OpTypeVoid" ; 1212case 20 :return "OpTypeBool" ; 1213case 21 :return "OpTypeInt" ; 1214case 22 :return "OpTypeFloat" ; 1215case 23 :return "OpTypeVector" ; 1216case 24 :return "OpTypeMatrix" ; 1217case 25 :return "OpTypeImage" ; 1218case 26 :return "OpTypeSampler" ; 1219case 27 :return "OpTypeSampledImage" ; 1220case 28 :return "OpTypeArray" ; 1221case 29 :return "OpTypeRuntimeArray" ; 1222case 30 :return "OpTypeStruct" ; 1223case 31 :return "OpTypeOpaque" ; 1224case 32 :return "OpTypePointer" ; 1225case 33 :return "OpTypeFunction" ; 1226case 34 :return "OpTypeEvent" ; 1227case 35 :return "OpTypeDeviceEvent" ; 1228case 36 :return "OpTypeReserveId" ; 1229case 37 :return "OpTypeQueue" ; 1230case 38 :return "OpTypePipe" ; 1231case 39 :return "OpTypeForwardPointer" ; 1232case 40 :return "Bad" ; 1233case 41 :return "OpConstantTrue" ; 1234case 42 :return "OpConstantFalse" ; 1235case 43 :return "OpConstant" ; 1236case 44 :return "OpConstantComposite" ; 1237case 45 :return "OpConstantSampler" ; 1238case 46 :return "OpConstantNull" ; 1239case 47 :return "Bad" ; 1240case 48 :return "OpSpecConstantTrue" ; 1241case 49 :return "OpSpecConstantFalse" ; 1242case 50 :return "OpSpecConstant" ; 1243case 51 :return "OpSpecConstantComposite" ; 1244case 52 :return "OpSpecConstantOp" ; 1245case 53 :return "Bad" ; 1246case 54 :return "OpFunction" ; 1247case 55 :return "OpFunctionParameter" ; 1248case 56 :return "OpFunctionEnd" ; 1249case 57 :return "OpFunctionCall" ; 1250case 58 :return "Bad" ; 1251case 59 :return "OpVariable" ; 1252case 60 :return "OpImageTexelPointer" ; 1253case 61 :return "OpLoad" ; 1254case 62 :return "OpStore" ; 1255case 63 :return "OpCopyMemory" ; 1256case 64 :return "OpCopyMemorySized" ; 1257case 65 :return "OpAccessChain" ; 1258case 66 :return "OpInBoundsAccessChain" ; 1259case 67 :return "OpPtrAccessChain" ; 1260case 68 :return "OpArrayLength" ; 1261case 69 :return "OpGenericPtrMemSemantics" ; 1262case 70 :return "OpInBoundsPtrAccessChain" ; 1263case 71 :return "OpDecorate" ; 1264case 72 :return "OpMemberDecorate" ; 1265case 73 :return "OpDecorationGroup" ; 1266case 74 :return "OpGroupDecorate" ; 1267case 75 :return "OpGroupMemberDecorate" ; 1268case 76 :return "Bad" ; 1269case 77 :return "OpVectorExtractDynamic" ; 1270case 78 :return "OpVectorInsertDynamic" ; 1271case 79 :return "OpVectorShuffle" ; 1272case 80 :return "OpCompositeConstruct" ; 1273case 81 :return "OpCompositeExtract" ; 1274case 82 :return "OpCompositeInsert" ; 1275case 83 :return "OpCopyObject" ; 1276case 84 :return "OpTranspose" ; 1277case (int )Op ::OpCopyLogical :return "OpCopyLogical" ; 1278case 85 :return "Bad" ; 1279case 86 :return "OpSampledImage" ; 1280case 87 :return "OpImageSampleImplicitLod" ; 1281case 88 :return "OpImageSampleExplicitLod" ; 1282case 89 :return "OpImageSampleDrefImplicitLod" ; 1283case 90 :return "OpImageSampleDrefExplicitLod" ; 1284case 91 :return "OpImageSampleProjImplicitLod" ; 1285case 92 :return "OpImageSampleProjExplicitLod" ; 1286case 93 :return "OpImageSampleProjDrefImplicitLod" ; 1287case 94 :return "OpImageSampleProjDrefExplicitLod" ; 1288case 95 :return "OpImageFetch" ; 1289case 96 :return "OpImageGather" ; 1290case 97 :return "OpImageDrefGather" ; 1291case 98 :return "OpImageRead" ; 1292case 99 :return "OpImageWrite" ; 1293case 100 :return "OpImage" ; 1294case 101 :return "OpImageQueryFormat" ; 1295case 102 :return "OpImageQueryOrder" ; 1296case 103 :return "OpImageQuerySizeLod" ; 1297case 104 :return "OpImageQuerySize" ; 1298case 105 :return "OpImageQueryLod" ; 1299case 106 :return "OpImageQueryLevels" ; 1300case 107 :return "OpImageQuerySamples" ; 1301case 108 :return "Bad" ; 1302case 109 :return "OpConvertFToU" ; 1303case 110 :return "OpConvertFToS" ; 1304case 111 :return "OpConvertSToF" ; 1305case 112 :return "OpConvertUToF" ; 1306case 113 :return "OpUConvert" ; 1307case 114 :return "OpSConvert" ; 1308case 115 :return "OpFConvert" ; 1309case 116 :return "OpQuantizeToF16" ; 1310case 117 :return "OpConvertPtrToU" ; 1311case 118 :return "OpSatConvertSToU" ; 1312case 119 :return "OpSatConvertUToS" ; 1313case 120 :return "OpConvertUToPtr" ; 1314case 121 :return "OpPtrCastToGeneric" ; 1315case 122 :return "OpGenericCastToPtr" ; 1316case 123 :return "OpGenericCastToPtrExplicit" ; 1317case 124 :return "OpBitcast" ; 1318case 125 :return "Bad" ; 1319case 126 :return "OpSNegate" ; 1320case 127 :return "OpFNegate" ; 1321case 128 :return "OpIAdd" ; 1322case 129 :return "OpFAdd" ; 1323case 130 :return "OpISub" ; 1324case 131 :return "OpFSub" ; 1325case 132 :return "OpIMul" ; 1326case 133 :return "OpFMul" ; 1327case 134 :return "OpUDiv" ; 1328case 135 :return "OpSDiv" ; 1329case 136 :return "OpFDiv" ; 1330case 137 :return "OpUMod" ; 1331case 138 :return "OpSRem" ; 1332case 139 :return "OpSMod" ; 1333case 140 :return "OpFRem" ; 1334case 141 :return "OpFMod" ; 1335case 142 :return "OpVectorTimesScalar" ; 1336case 143 :return "OpMatrixTimesScalar" ; 1337case 144 :return "OpVectorTimesMatrix" ; 1338case 145 :return "OpMatrixTimesVector" ; 1339case 146 :return "OpMatrixTimesMatrix" ; 1340case 147 :return "OpOuterProduct" ; 1341case 148 :return "OpDot" ; 1342case 149 :return "OpIAddCarry" ; 1343case 150 :return "OpISubBorrow" ; 1344case 151 :return "OpUMulExtended" ; 1345case 152 :return "OpSMulExtended" ; 1346case 153 :return "Bad" ; 1347case 154 :return "OpAny" ; 1348case 155 :return "OpAll" ; 1349case 156 :return "OpIsNan" ; 1350case 157 :return "OpIsInf" ; 1351case 158 :return "OpIsFinite" ; 1352case 159 :return "OpIsNormal" ; 1353case 160 :return "OpSignBitSet" ; 1354case 161 :return "OpLessOrGreater" ; 1355case 162 :return "OpOrdered" ; 1356case 163 :return "OpUnordered" ; 1357case 164 :return "OpLogicalEqual" ; 1358case 165 :return "OpLogicalNotEqual" ; 1359case 166 :return "OpLogicalOr" ; 1360case 167 :return "OpLogicalAnd" ; 1361case 168 :return "OpLogicalNot" ; 1362case 169 :return "OpSelect" ; 1363case 170 :return "OpIEqual" ; 1364case 171 :return "OpINotEqual" ; 1365case 172 :return "OpUGreaterThan" ; 1366case 173 :return "OpSGreaterThan" ; 1367case 174 :return "OpUGreaterThanEqual" ; 1368case 175 :return "OpSGreaterThanEqual" ; 1369case 176 :return "OpULessThan" ; 1370case 177 :return "OpSLessThan" ; 1371case 178 :return "OpULessThanEqual" ; 1372case 179 :return "OpSLessThanEqual" ; 1373case 180 :return "OpFOrdEqual" ; 1374case 181 :return "OpFUnordEqual" ; 1375case 182 :return "OpFOrdNotEqual" ; 1376case 183 :return "OpFUnordNotEqual" ; 1377case 184 :return "OpFOrdLessThan" ; 1378case 185 :return "OpFUnordLessThan" ; 1379case 186 :return "OpFOrdGreaterThan" ; 1380case 187 :return "OpFUnordGreaterThan" ; 1381case 188 :return "OpFOrdLessThanEqual" ; 1382case 189 :return "OpFUnordLessThanEqual" ; 1383case 190 :return "OpFOrdGreaterThanEqual" ; 1384case 191 :return "OpFUnordGreaterThanEqual" ; 1385case 192 :return "Bad" ; 1386case 193 :return "Bad" ; 1387case 194 :return "OpShiftRightLogical" ; 1388case 195 :return "OpShiftRightArithmetic" ; 1389case 196 :return "OpShiftLeftLogical" ; 1390case 197 :return "OpBitwiseOr" ; 1391case 198 :return "OpBitwiseXor" ; 1392case 199 :return "OpBitwiseAnd" ; 1393case 200 :return "OpNot" ; 1394case 201 :return "OpBitFieldInsert" ; 1395case 202 :return "OpBitFieldSExtract" ; 1396case 203 :return "OpBitFieldUExtract" ; 1397case 204 :return "OpBitReverse" ; 1398case 205 :return "OpBitCount" ; 1399case 206 :return "Bad" ; 1400case 207 :return "OpDPdx" ; 1401case 208 :return "OpDPdy" ; 1402case 209 :return "OpFwidth" ; 1403case 210 :return "OpDPdxFine" ; 1404case 211 :return "OpDPdyFine" ; 1405case 212 :return "OpFwidthFine" ; 1406case 213 :return "OpDPdxCoarse" ; 1407case 214 :return "OpDPdyCoarse" ; 1408case 215 :return "OpFwidthCoarse" ; 1409case 216 :return "Bad" ; 1410case 217 :return "Bad" ; 1411case 218 :return "OpEmitVertex" ; 1412case 219 :return "OpEndPrimitive" ; 1413case 220 :return "OpEmitStreamVertex" ; 1414case 221 :return "OpEndStreamPrimitive" ; 1415case 222 :return "Bad" ; 1416case 223 :return "Bad" ; 1417case 224 :return "OpControlBarrier" ; 1418case 225 :return "OpMemoryBarrier" ; 1419case 226 :return "Bad" ; 1420case 227 :return "OpAtomicLoad" ; 1421case 228 :return "OpAtomicStore" ; 1422case 229 :return "OpAtomicExchange" ; 1423case 230 :return "OpAtomicCompareExchange" ; 1424case 231 :return "OpAtomicCompareExchangeWeak" ; 1425case 232 :return "OpAtomicIIncrement" ; 1426case 233 :return "OpAtomicIDecrement" ; 1427case 234 :return "OpAtomicIAdd" ; 1428case 235 :return "OpAtomicISub" ; 1429case 236 :return "OpAtomicSMin" ; 1430case 237 :return "OpAtomicUMin" ; 1431case 238 :return "OpAtomicSMax" ; 1432case 239 :return "OpAtomicUMax" ; 1433case 240 :return "OpAtomicAnd" ; 1434case 241 :return "OpAtomicOr" ; 1435case 242 :return "OpAtomicXor" ; 1436case 243 :return "Bad" ; 1437case 244 :return "Bad" ; 1438case 245 :return "OpPhi" ; 1439case 246 :return "OpLoopMerge" ; 1440case 247 :return "OpSelectionMerge" ; 1441case 248 :return "OpLabel" ; 1442case 249 :return "OpBranch" ; 1443case 250 :return "OpBranchConditional" ; 1444case 251 :return "OpSwitch" ; 1445case 252 :return "OpKill" ; 1446case 253 :return "OpReturn" ; 1447case 254 :return "OpReturnValue" ; 1448case 255 :return "OpUnreachable" ; 1449case 256 :return "OpLifetimeStart" ; 1450case 257 :return "OpLifetimeStop" ; 1451case 258 :return "Bad" ; 1452case 259 :return "OpGroupAsyncCopy" ; 1453case 260 :return "OpGroupWaitEvents" ; 1454case 261 :return "OpGroupAll" ; 1455case 262 :return "OpGroupAny" ; 1456case 263 :return "OpGroupBroadcast" ; 1457case 264 :return "OpGroupIAdd" ; 1458case 265 :return "OpGroupFAdd" ; 1459case 266 :return "OpGroupFMin" ; 1460case 267 :return "OpGroupUMin" ; 1461case 268 :return "OpGroupSMin" ; 1462case 269 :return "OpGroupFMax" ; 1463case 270 :return "OpGroupUMax" ; 1464case 271 :return "OpGroupSMax" ; 1465case 272 :return "Bad" ; 1466case 273 :return "Bad" ; 1467case 274 :return "OpReadPipe" ; 1468case 275 :return "OpWritePipe" ; 1469case 276 :return "OpReservedReadPipe" ; 1470case 277 :return "OpReservedWritePipe" ; 1471case 278 :return "OpReserveReadPipePackets" ; 1472case 279 :return "OpReserveWritePipePackets" ; 1473case 280 :return "OpCommitReadPipe" ; 1474case 281 :return "OpCommitWritePipe" ; 1475case 282 :return "OpIsValidReserveId" ; 1476case 283 :return "OpGetNumPipePackets" ; 1477case 284 :return "OpGetMaxPipePackets" ; 1478case 285 :return "OpGroupReserveReadPipePackets" ; 1479case 286 :return "OpGroupReserveWritePipePackets" ; 1480case 287 :return "OpGroupCommitReadPipe" ; 1481case 288 :return "OpGroupCommitWritePipe" ; 1482case 289 :return "Bad" ; 1483case 290 :return "Bad" ; 1484case 291 :return "OpEnqueueMarker" ; 1485case 292 :return "OpEnqueueKernel" ; 1486case 293 :return "OpGetKernelNDrangeSubGroupCount" ; 1487case 294 :return "OpGetKernelNDrangeMaxSubGroupSize" ; 1488case 295 :return "OpGetKernelWorkGroupSize" ; 1489case 296 :return "OpGetKernelPreferredWorkGroupSizeMultiple" ; 1490case 297 :return "OpRetainEvent" ; 1491case 298 :return "OpReleaseEvent" ; 1492case 299 :return "OpCreateUserEvent" ; 1493case 300 :return "OpIsValidEvent" ; 1494case 301 :return "OpSetUserEventStatus" ; 1495case 302 :return "OpCaptureEventProfilingInfo" ; 1496case 303 :return "OpGetDefaultQueue" ; 1497case 304 :return "OpBuildNDRange" ; 1498case 305 :return "OpImageSparseSampleImplicitLod" ; 1499case 306 :return "OpImageSparseSampleExplicitLod" ; 1500case 307 :return "OpImageSparseSampleDrefImplicitLod" ; 1501case 308 :return "OpImageSparseSampleDrefExplicitLod" ; 1502case 309 :return "OpImageSparseSampleProjImplicitLod" ; 1503case 310 :return "OpImageSparseSampleProjExplicitLod" ; 1504case 311 :return "OpImageSparseSampleProjDrefImplicitLod" ; 1505case 312 :return "OpImageSparseSampleProjDrefExplicitLod" ; 1506case 313 :return "OpImageSparseFetch" ; 1507case 314 :return "OpImageSparseGather" ; 1508case 315 :return "OpImageSparseDrefGather" ; 1509case 316 :return "OpImageSparseTexelsResident" ; 1510case 317 :return "OpNoLine" ; 1511case 318 :return "OpAtomicFlagTestAndSet" ; 1512case 319 :return "OpAtomicFlagClear" ; 1513case 320 :return "OpImageSparseRead" ; 1514 1515case (int )Op ::OpModuleProcessed :return "OpModuleProcessed" ; 1516case (int )Op ::OpExecutionModeId :return "OpExecutionModeId" ; 1517case (int )Op ::OpDecorateId :return "OpDecorateId" ; 1518 1519case 333 :return "OpGroupNonUniformElect" ; 1520case 334 :return "OpGroupNonUniformAll" ; 1521case 335 :return "OpGroupNonUniformAny" ; 1522case 336 :return "OpGroupNonUniformAllEqual" ; 1523case 337 :return "OpGroupNonUniformBroadcast" ; 1524case 338 :return "OpGroupNonUniformBroadcastFirst" ; 1525case 339 :return "OpGroupNonUniformBallot" ; 1526case 340 :return "OpGroupNonUniformInverseBallot" ; 1527case 341 :return "OpGroupNonUniformBallotBitExtract" ; 1528case 342 :return "OpGroupNonUniformBallotBitCount" ; 1529case 343 :return "OpGroupNonUniformBallotFindLSB" ; 1530case 344 :return "OpGroupNonUniformBallotFindMSB" ; 1531case 345 :return "OpGroupNonUniformShuffle" ; 1532case 346 :return "OpGroupNonUniformShuffleXor" ; 1533case 347 :return "OpGroupNonUniformShuffleUp" ; 1534case 348 :return "OpGroupNonUniformShuffleDown" ; 1535case 349 :return "OpGroupNonUniformIAdd" ; 1536case 350 :return "OpGroupNonUniformFAdd" ; 1537case 351 :return "OpGroupNonUniformIMul" ; 1538case 352 :return "OpGroupNonUniformFMul" ; 1539case 353 :return "OpGroupNonUniformSMin" ; 1540case 354 :return "OpGroupNonUniformUMin" ; 1541case 355 :return "OpGroupNonUniformFMin" ; 1542case 356 :return "OpGroupNonUniformSMax" ; 1543case 357 :return "OpGroupNonUniformUMax" ; 1544case 358 :return "OpGroupNonUniformFMax" ; 1545case 359 :return "OpGroupNonUniformBitwiseAnd" ; 1546case 360 :return "OpGroupNonUniformBitwiseOr" ; 1547case 361 :return "OpGroupNonUniformBitwiseXor" ; 1548case 362 :return "OpGroupNonUniformLogicalAnd" ; 1549case 363 :return "OpGroupNonUniformLogicalOr" ; 1550case 364 :return "OpGroupNonUniformLogicalXor" ; 1551case 365 :return "OpGroupNonUniformQuadBroadcast" ; 1552case 366 :return "OpGroupNonUniformQuadSwap" ; 1553 1554case (int )Op ::OpTerminateInvocation :return "OpTerminateInvocation" ; 1555 1556case 4421 :return "OpSubgroupBallotKHR" ; 1557case 4422 :return "OpSubgroupFirstInvocationKHR" ; 1558case 4428 :return "OpSubgroupAllKHR" ; 1559case 4429 :return "OpSubgroupAnyKHR" ; 1560case 4430 :return "OpSubgroupAllEqualKHR" ; 1561case 4432 :return "OpSubgroupReadInvocationKHR" ; 1562case 4433 :return "OpExtInstWithForwardRefsKHR" ; 1563 1564case (int )Op ::OpGroupNonUniformQuadAllKHR :return "OpGroupNonUniformQuadAllKHR" ; 1565case (int )Op ::OpGroupNonUniformQuadAnyKHR :return "OpGroupNonUniformQuadAnyKHR" ; 1566case (int )Op ::OpBufferPointerEXT :return "OpBufferPointerEXT" ; 1567case (int )Op ::OpConstantSizeOfEXT :return "OpConstantSizeOfEXT" ; 1568case (int )Op ::OpTypeBufferEXT :return "OpTypeBufferEXT" ; 1569case (int )Op ::OpUntypedAccessChainKHR :return "OpUntypedAccessChainKHR" ; 1570case (int )Op ::OpUntypedVariableKHR :return "OpUntypedVariableKHR" ; 1571case (int )Op ::OpTypeUntypedPointerKHR :return "OpTypeUntypedPointerKHR" ; 1572case (int )Op ::OpMemberDecorateIdEXT :return "OpMemberDecorateIdEXT" ; 1573case (int )Op ::OpUntypedImageTexelPointerEXT :return "OpUntypedImageTexelPointerEXT" ; 1574 1575case (int )Op ::OpAbortKHR :return "OpAbortKHR" ; 1576case (int )Op ::OpConstantDataKHR :return "OpConstantDataKHR" ; 1577case (int )Op ::OpSpecConstantDataKHR :return "OpSpecConstantDataKHR" ; 1578 1579case (int )Op ::OpAtomicFAddEXT :return "OpAtomicFAddEXT" ; 1580case (int )Op ::OpAtomicFMinEXT :return "OpAtomicFMinEXT" ; 1581case (int )Op ::OpAtomicFMaxEXT :return "OpAtomicFMaxEXT" ; 1582 1583case (int )Op ::OpAssumeTrueKHR :return "OpAssumeTrueKHR" ; 1584case (int )Op ::OpExpectKHR :return "OpExpectKHR" ; 1585 1586case 5000 :return "OpGroupIAddNonUniformAMD" ; 1587case 5001 :return "OpGroupFAddNonUniformAMD" ; 1588case 5002 :return "OpGroupFMinNonUniformAMD" ; 1589case 5003 :return "OpGroupUMinNonUniformAMD" ; 1590case 5004 :return "OpGroupSMinNonUniformAMD" ; 1591case 5005 :return "OpGroupFMaxNonUniformAMD" ; 1592case 5006 :return "OpGroupUMaxNonUniformAMD" ; 1593case 5007 :return "OpGroupSMaxNonUniformAMD" ; 1594 1595case 5011 :return "OpFragmentMaskFetchAMD" ; 1596case 5012 :return "OpFragmentFetchAMD" ; 1597 1598case (int )Op ::OpReadClockKHR :return "OpReadClockKHR" ; 1599 1600case (int )Op ::OpDecorateStringGOOGLE :return "OpDecorateStringGOOGLE" ; 1601case (int )Op ::OpMemberDecorateStringGOOGLE :return "OpMemberDecorateStringGOOGLE" ; 1602 1603case (int )Op ::OpReportIntersectionKHR :return "OpReportIntersectionKHR" ; 1604case (int )Op ::OpIgnoreIntersectionNV :return "OpIgnoreIntersectionNV" ; 1605case (int )Op ::OpIgnoreIntersectionKHR :return "OpIgnoreIntersectionKHR" ; 1606case (int )Op ::OpTerminateRayNV :return "OpTerminateRayNV" ; 1607case (int )Op ::OpTerminateRayKHR :return "OpTerminateRayKHR" ; 1608case (int )Op ::OpTraceNV :return "OpTraceNV" ; 1609case (int )Op ::OpTraceRayMotionNV :return "OpTraceRayMotionNV" ; 1610case (int )Op ::OpTraceRayKHR :return "OpTraceRayKHR" ; 1611case (int )Op ::OpTypeAccelerationStructureKHR :return "OpTypeAccelerationStructureKHR" ; 1612case (int )Op ::OpExecuteCallableNV :return "OpExecuteCallableNV" ; 1613case (int )Op ::OpExecuteCallableKHR :return "OpExecuteCallableKHR" ; 1614case (int )Op ::OpConvertUToAccelerationStructureKHR :return "OpConvertUToAccelerationStructureKHR" ; 1615 1616case (int )Op ::OpGroupNonUniformPartitionNV :return "OpGroupNonUniformPartitionNV" ; 1617case (int )Op ::OpImageSampleFootprintNV :return "OpImageSampleFootprintNV" ; 1618case (int )Op ::OpWritePackedPrimitiveIndices4x8NV :return "OpWritePackedPrimitiveIndices4x8NV" ; 1619case (int )Op ::OpEmitMeshTasksEXT :return "OpEmitMeshTasksEXT" ; 1620case (int )Op ::OpSetMeshOutputsEXT :return "OpSetMeshOutputsEXT" ; 1621 1622case (int )Op ::OpGroupNonUniformRotateKHR :return "OpGroupNonUniformRotateKHR" ; 1623 1624case (int )Op ::OpTypeRayQueryKHR :return "OpTypeRayQueryKHR" ; 1625case (int )Op ::OpRayQueryInitializeKHR :return "OpRayQueryInitializeKHR" ; 1626case (int )Op ::OpRayQueryTerminateKHR :return "OpRayQueryTerminateKHR" ; 1627case (int )Op ::OpRayQueryGenerateIntersectionKHR :return "OpRayQueryGenerateIntersectionKHR" ; 1628case (int )Op ::OpRayQueryConfirmIntersectionKHR :return "OpRayQueryConfirmIntersectionKHR" ; 1629case (int )Op ::OpRayQueryProceedKHR :return "OpRayQueryProceedKHR" ; 1630case (int )Op ::OpRayQueryGetIntersectionTypeKHR :return "OpRayQueryGetIntersectionTypeKHR" ; 1631case (int )Op ::OpRayQueryGetRayTMinKHR :return "OpRayQueryGetRayTMinKHR" ; 1632case (int )Op ::OpRayQueryGetRayFlagsKHR :return "OpRayQueryGetRayFlagsKHR" ; 1633case (int )Op ::OpRayQueryGetIntersectionTKHR :return "OpRayQueryGetIntersectionTKHR" ; 1634case (int )Op ::OpRayQueryGetIntersectionInstanceCustomIndexKHR :return "OpRayQueryGetIntersectionInstanceCustomIndexKHR" ; 1635case (int )Op ::OpRayQueryGetIntersectionInstanceIdKHR :return "OpRayQueryGetIntersectionInstanceIdKHR" ; 1636case (int )Op ::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR :return "OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR" ; 1637case (int )Op ::OpRayQueryGetIntersectionGeometryIndexKHR :return "OpRayQueryGetIntersectionGeometryIndexKHR" ; 1638case (int )Op ::OpRayQueryGetIntersectionPrimitiveIndexKHR :return "OpRayQueryGetIntersectionPrimitiveIndexKHR" ; 1639case (int )Op ::OpRayQueryGetIntersectionBarycentricsKHR :return "OpRayQueryGetIntersectionBarycentricsKHR" ; 1640case (int )Op ::OpRayQueryGetIntersectionFrontFaceKHR :return "OpRayQueryGetIntersectionFrontFaceKHR" ; 1641case (int )Op ::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR :return "OpRayQueryGetIntersectionCandidateAABBOpaqueKHR" ; 1642case (int )Op ::OpRayQueryGetIntersectionObjectRayDirectionKHR :return "OpRayQueryGetIntersectionObjectRayDirectionKHR" ; 1643case (int )Op ::OpRayQueryGetIntersectionObjectRayOriginKHR :return "OpRayQueryGetIntersectionObjectRayOriginKHR" ; 1644case (int )Op ::OpRayQueryGetWorldRayDirectionKHR :return "OpRayQueryGetWorldRayDirectionKHR" ; 1645case (int )Op ::OpRayQueryGetWorldRayOriginKHR :return "OpRayQueryGetWorldRayOriginKHR" ; 1646case (int )Op ::OpRayQueryGetIntersectionObjectToWorldKHR :return "OpRayQueryGetIntersectionObjectToWorldKHR" ; 1647case (int )Op ::OpRayQueryGetIntersectionWorldToObjectKHR :return "OpRayQueryGetIntersectionWorldToObjectKHR" ; 1648case (int )Op ::OpRayQueryGetIntersectionTriangleVertexPositionsKHR :return "OpRayQueryGetIntersectionTriangleVertexPositionsKHR" ; 1649case (int )Op ::OpRayQueryGetClusterIdNV :return "OpRayQueryGetIntersectionClusterIdNV" ; 1650 1651case (int )Op ::OpRayQueryGetIntersectionSpherePositionNV :return "OpRayQueryGetIntersectionSpherePositionNV" ; 1652case (int )Op ::OpRayQueryGetIntersectionSphereRadiusNV :return "OpRayQueryGetIntersectionSphereRadiusNV" ; 1653case (int )Op ::OpRayQueryGetIntersectionLSSHitValueNV :return "OpRayQueryGetIntersectionLSSHitValueNV" ; 1654case (int )Op ::OpRayQueryGetIntersectionLSSPositionsNV :return "OpRayQueryGetIntersectionLSSPositionsNV" ; 1655case (int )Op ::OpRayQueryGetIntersectionLSSRadiiNV :return "OpRayQueryGetIntersectionLSSRadiiNV" ; 1656case (int )Op ::OpRayQueryIsSphereHitNV :return "OpRayQueryIsSphereHitNV" ; 1657case (int )Op ::OpRayQueryIsLSSHitNV :return "OpRayQueryIsLSSHitNV" ; 1658 1659case (int )Op ::OpTypeCooperativeMatrixNV :return "OpTypeCooperativeMatrixNV" ; 1660case (int )Op ::OpCooperativeMatrixLoadNV :return "OpCooperativeMatrixLoadNV" ; 1661case (int )Op ::OpCooperativeMatrixStoreNV :return "OpCooperativeMatrixStoreNV" ; 1662case (int )Op ::OpCooperativeMatrixMulAddNV :return "OpCooperativeMatrixMulAddNV" ; 1663case (int )Op ::OpCooperativeMatrixLengthNV :return "OpCooperativeMatrixLengthNV" ; 1664case (int )Op ::OpTypeCooperativeMatrixKHR :return "OpTypeCooperativeMatrixKHR" ; 1665case (int )Op ::OpCooperativeMatrixLoadKHR :return "OpCooperativeMatrixLoadKHR" ; 1666case (int )Op ::OpCooperativeMatrixStoreKHR :return "OpCooperativeMatrixStoreKHR" ; 1667case (int )Op ::OpCooperativeMatrixMulAddKHR :return "OpCooperativeMatrixMulAddKHR" ; 1668case (int )Op ::OpCooperativeMatrixLengthKHR :return "OpCooperativeMatrixLengthKHR" ; 1669case (int )Op ::OpDemoteToHelperInvocationEXT :return "OpDemoteToHelperInvocationEXT" ; 1670case (int )Op ::OpIsHelperInvocationEXT :return "OpIsHelperInvocationEXT" ; 1671 1672case (int )Op ::OpCooperativeMatrixConvertNV :return "OpCooperativeMatrixConvertNV" ; 1673case (int )Op ::OpCooperativeMatrixTransposeNV :return "OpCooperativeMatrixTransposeNV" ; 1674case (int )Op ::OpCooperativeMatrixReduceNV :return "OpCooperativeMatrixReduceNV" ; 1675case (int )Op ::OpCooperativeMatrixLoadTensorNV :return "OpCooperativeMatrixLoadTensorNV" ; 1676case (int )Op ::OpCooperativeMatrixStoreTensorNV :return "OpCooperativeMatrixStoreTensorNV" ; 1677case (int )Op ::OpCooperativeMatrixPerElementOpNV :return "OpCooperativeMatrixPerElementOpNV" ; 1678case (int )Op ::OpTypeTensorLayoutNV :return "OpTypeTensorLayoutNV" ; 1679case (int )Op ::OpTypeTensorViewNV :return "OpTypeTensorViewNV" ; 1680case (int )Op ::OpCreateTensorLayoutNV :return "OpCreateTensorLayoutNV" ; 1681case (int )Op ::OpTensorLayoutSetBlockSizeNV :return "OpTensorLayoutSetBlockSizeNV" ; 1682case (int )Op ::OpTensorLayoutSetDimensionNV :return "OpTensorLayoutSetDimensionNV" ; 1683case (int )Op ::OpTensorLayoutSetStrideNV :return "OpTensorLayoutSetStrideNV" ; 1684case (int )Op ::OpTensorLayoutSliceNV :return "OpTensorLayoutSliceNV" ; 1685case (int )Op ::OpTensorLayoutSetClampValueNV :return "OpTensorLayoutSetClampValueNV" ; 1686case (int )Op ::OpCreateTensorViewNV :return "OpCreateTensorViewNV" ; 1687case (int )Op ::OpTensorViewSetDimensionNV :return "OpTensorViewSetDimensionNV" ; 1688case (int )Op ::OpTensorViewSetStrideNV :return "OpTensorViewSetStrideNV" ; 1689case (int )Op ::OpTensorViewSetClipNV :return "OpTensorViewSetClipNV" ; 1690case (int )Op ::OpCooperativeMatrixGetCoordinateEXT :return "OpCooperativeMatrixGetCoordinateEXT" ; 1691 1692case (int )Op ::OpTypeTensorARM :return "OpTypeTensorARM" ; 1693case (int )Op ::OpTensorReadARM :return "OpTensorReadARM" ; 1694case (int )Op ::OpTensorWriteARM :return "OpTensorWriteARM" ; 1695case (int )Op ::OpTensorQuerySizeARM :return "OpTensorQuerySizeARM" ; 1696 1697case (int )Op ::OpTypeCooperativeVectorNV :return "OpTypeCooperativeVectorNV" ; 1698case (int )Op ::OpCooperativeVectorMatrixMulNV :return "OpCooperativeVectorMatrixMulNV" ; 1699case (int )Op ::OpCooperativeVectorMatrixMulAddNV :return "OpCooperativeVectorMatrixMulAddNV" ; 1700case (int )Op ::OpCooperativeVectorLoadNV :return "OpCooperativeVectorLoadNV" ; 1701case (int )Op ::OpCooperativeVectorStoreNV :return "OpCooperativeVectorStoreNV" ; 1702case (int )Op ::OpCooperativeVectorOuterProductAccumulateNV :return "OpCooperativeVectorOuterProductAccumulateNV" ; 1703case (int )Op ::OpCooperativeVectorReduceSumAccumulateNV :return "OpCooperativeVectorReduceSumAccumulateNV" ; 1704 1705case (int )Op ::OpBeginInvocationInterlockEXT :return "OpBeginInvocationInterlockEXT" ; 1706case (int )Op ::OpEndInvocationInterlockEXT :return "OpEndInvocationInterlockEXT" ; 1707 1708case (int )Op ::OpTypeHitObjectNV :return "OpTypeHitObjectNV" ; 1709case (int )Op ::OpHitObjectTraceRayNV :return "OpHitObjectTraceRayNV" ; 1710case (int )Op ::OpHitObjectTraceRayMotionNV :return "OpHitObjectTraceRayMotionNV" ; 1711case (int )Op ::OpHitObjectRecordHitNV :return "OpHitObjectRecordHitNV" ; 1712case (int )Op ::OpHitObjectRecordHitMotionNV :return "OpHitObjectRecordHitMotionNV" ; 1713case (int )Op ::OpHitObjectRecordHitWithIndexNV :return "OpHitObjectRecordHitWithIndexNV" ; 1714case (int )Op ::OpHitObjectRecordHitWithIndexMotionNV :return "OpHitObjectRecordHitWithIndexMotionNV" ; 1715case (int )Op ::OpHitObjectRecordMissNV :return "OpHitObjectRecordMissNV" ; 1716case (int )Op ::OpHitObjectRecordMissMotionNV :return "OpHitObjectRecordMissMotionNV" ; 1717case (int )Op ::OpHitObjectRecordEmptyNV :return "OpHitObjectRecordEmptyNV" ; 1718case (int )Op ::OpHitObjectExecuteShaderNV :return "OpHitObjectExecuteShaderNV" ; 1719case (int )Op ::OpReorderThreadWithHintNV :return "OpReorderThreadWithHintNV" ; 1720case (int )Op ::OpReorderThreadWithHitObjectNV :return "OpReorderThreadWithHitObjectNV" ; 1721case (int )Op ::OpHitObjectGetCurrentTimeNV :return "OpHitObjectGetCurrentTimeNV" ; 1722case (int )Op ::OpHitObjectGetAttributesNV :return "OpHitObjectGetAttributesNV" ; 1723case (int )Op ::OpHitObjectGetHitKindNV :return "OpHitObjectGetFrontFaceNV" ; 1724case (int )Op ::OpHitObjectGetPrimitiveIndexNV :return "OpHitObjectGetPrimitiveIndexNV" ; 1725case (int )Op ::OpHitObjectGetGeometryIndexNV :return "OpHitObjectGetGeometryIndexNV" ; 1726case (int )Op ::OpHitObjectGetInstanceIdNV :return "OpHitObjectGetInstanceIdNV" ; 1727case (int )Op ::OpHitObjectGetInstanceCustomIndexNV :return "OpHitObjectGetInstanceCustomIndexNV" ; 1728case (int )Op ::OpHitObjectGetObjectRayDirectionNV :return "OpHitObjectGetObjectRayDirectionNV" ; 1729case (int )Op ::OpHitObjectGetObjectRayOriginNV :return "OpHitObjectGetObjectRayOriginNV" ; 1730case (int )Op ::OpHitObjectGetWorldRayDirectionNV :return "OpHitObjectGetWorldRayDirectionNV" ; 1731case (int )Op ::OpHitObjectGetWorldRayOriginNV :return "OpHitObjectGetWorldRayOriginNV" ; 1732case (int )Op ::OpHitObjectGetWorldToObjectNV :return "OpHitObjectGetWorldToObjectNV" ; 1733case (int )Op ::OpHitObjectGetObjectToWorldNV :return "OpHitObjectGetObjectToWorldNV" ; 1734case (int )Op ::OpHitObjectGetRayTMaxNV :return "OpHitObjectGetRayTMaxNV" ; 1735case (int )Op ::OpHitObjectGetRayTMinNV :return "OpHitObjectGetRayTMinNV" ; 1736case (int )Op ::OpHitObjectIsEmptyNV :return "OpHitObjectIsEmptyNV" ; 1737case (int )Op ::OpHitObjectIsHitNV :return "OpHitObjectIsHitNV" ; 1738case (int )Op ::OpHitObjectIsMissNV :return "OpHitObjectIsMissNV" ; 1739case (int )Op ::OpHitObjectGetShaderBindingTableRecordIndexNV :return "OpHitObjectGetShaderBindingTableRecordIndexNV" ; 1740case (int )Op ::OpHitObjectGetShaderRecordBufferHandleNV :return "OpHitObjectGetShaderRecordBufferHandleNV" ; 1741case (int )Op ::OpHitObjectGetClusterIdNV :return "OpHitObjectGetClusterIdNV" ; 1742case (int )Op ::OpHitObjectGetSpherePositionNV :return "OpHitObjectGetSpherePositionNV" ; 1743case (int )Op ::OpHitObjectGetSphereRadiusNV :return "OpHitObjectGetSphereRadiusNV" ; 1744case (int )Op ::OpHitObjectGetLSSPositionsNV :return "OpHitObjectGetLSSPositionsNV" ; 1745case (int )Op ::OpHitObjectGetLSSRadiiNV :return "OpHitObjectGetLSSRadiiNV" ; 1746case (int )Op ::OpHitObjectIsSphereHitNV :return "OpHitObjectIsSphereHitNV" ; 1747case (int )Op ::OpHitObjectIsLSSHitNV :return "OpHitObjectIsLSSHitNV" ; 1748 1749case (int )Op ::OpFetchMicroTriangleVertexBarycentricNV :return "OpFetchMicroTriangleVertexBarycentricNV" ; 1750case (int )Op ::OpFetchMicroTriangleVertexPositionNV :return "OpFetchMicroTriangleVertexPositionNV" ; 1751 1752case (int )Op ::OpColorAttachmentReadEXT :return "OpColorAttachmentReadEXT" ; 1753case (int )Op ::OpDepthAttachmentReadEXT :return "OpDepthAttachmentReadEXT" ; 1754case (int )Op ::OpStencilAttachmentReadEXT :return "OpStencilAttachmentReadEXT" ; 1755 1756case (int )Op ::OpImageSampleWeightedQCOM :return "OpImageSampleWeightedQCOM" ; 1757case (int )Op ::OpImageBoxFilterQCOM :return "OpImageBoxFilterQCOM" ; 1758case (int )Op ::OpImageBlockMatchSADQCOM :return "OpImageBlockMatchSADQCOM" ; 1759case (int )Op ::OpImageBlockMatchSSDQCOM :return "OpImageBlockMatchSSDQCOM" ; 1760case (int )Op ::OpImageBlockMatchWindowSSDQCOM :return "OpImageBlockMatchWindowSSDQCOM" ; 1761case (int )Op ::OpImageBlockMatchWindowSADQCOM :return "OpImageBlockMatchWindowSADQCOM" ; 1762case (int )Op ::OpImageBlockMatchGatherSSDQCOM :return "OpImageBlockMatchGatherSSDQCOM" ; 1763case (int )Op ::OpImageBlockMatchGatherSADQCOM :return "OpImageBlockMatchGatherSADQCOM" ; 1764case (int )Op ::OpImageGatherQCOM :return "OpImageGatherQCOM" ; 1765 1766case (int )Op ::OpBitCastArrayQCOM :return "OpBitCastArrayQCOM" ; 1767case (int )Op ::OpCompositeConstructCoopMatQCOM :return "OpCompositeConstructCoopMatQCOM" ; 1768case (int )Op ::OpCompositeExtractCoopMatQCOM :return "OpCompositeExtractCoopMatQCOM" ; 1769case (int )Op ::OpExtractSubArrayQCOM :return "OpExtractSubArrayQCOM" ; 1770 1771case (int )Op ::OpConstantCompositeReplicateEXT :return "OpConstantCompositeReplicateEXT" ; 1772case (int )Op ::OpSpecConstantCompositeReplicateEXT :return "OpSpecConstantCompositeReplicateEXT" ; 1773case (int )Op ::OpCompositeConstructReplicateEXT :return "OpCompositeConstructReplicateEXT" ; 1774 1775case (int )Op ::OpSDotKHR :return "OpSDotKHR" ; 1776case (int )Op ::OpUDotKHR :return "OpUDotKHR" ; 1777case (int )Op ::OpSUDotKHR :return "OpSUDotKHR" ; 1778case (int )Op ::OpSDotAccSatKHR :return "OpSDotAccSatKHR" ; 1779case (int )Op ::OpUDotAccSatKHR :return "OpUDotAccSatKHR" ; 1780case (int )Op ::OpSUDotAccSatKHR :return "OpSUDotAccSatKHR" ; 1781 1782case (int )Op ::OpTypeHitObjectEXT :return "OpTypeHitObjectEXT" ; 1783case (int )Op ::OpHitObjectTraceRayEXT :return "OpHitObjectTraceRayEXT" ; 1784case (int )Op ::OpHitObjectTraceRayMotionEXT :return "OpHitObjectTraceRayMotionEXT" ; 1785case (int )Op ::OpHitObjectRecordMissEXT :return "OpHitObjectRecordMissEXT" ; 1786case (int )Op ::OpHitObjectRecordMissMotionEXT :return "OpHitObjectRecordMissMotionEXT" ; 1787case (int )Op ::OpHitObjectRecordEmptyEXT :return "OpHitObjectRecordEmptyEXT" ; 1788case (int )Op ::OpHitObjectExecuteShaderEXT :return "OpHitObjectExecuteShaderEXT" ; 1789case (int )Op ::OpReorderThreadWithHintEXT :return "OpReorderThreadWithHintEXT" ; 1790case (int )Op ::OpReorderThreadWithHitObjectEXT :return "OpReorderThreadWithHitObjectEXT" ; 1791case (int )Op ::OpHitObjectGetCurrentTimeEXT :return "OpHitObjectGetCurrentTimeEXT" ; 1792case (int )Op ::OpHitObjectGetAttributesEXT :return "OpHitObjectGetAttributesEXT" ; 1793case (int )Op ::OpHitObjectGetHitKindEXT :return "OpHitObjectGetHitKindEXT" ; 1794case (int )Op ::OpHitObjectGetPrimitiveIndexEXT :return "OpHitObjectGetPrimitiveIndexEXT" ; 1795case (int )Op ::OpHitObjectGetGeometryIndexEXT :return "OpHitObjectGetGeometryIndexEXT" ; 1796case (int )Op ::OpHitObjectGetInstanceIdEXT :return "OpHitObjectGetInstanceIdEXT" ; 1797case (int )Op ::OpHitObjectGetInstanceCustomIndexEXT :return "OpHitObjectGetInstanceCustomIndexEXT" ; 1798case (int )Op ::OpHitObjectGetObjectRayDirectionEXT :return "OpHitObjectGetObjectRayDirectionEXT" ; 1799case (int )Op ::OpHitObjectGetObjectRayOriginEXT :return "OpHitObjectGetObjectRayOriginEXT" ; 1800case (int )Op ::OpHitObjectGetWorldRayDirectionEXT :return "OpHitObjectGetWorldRayDirectionEXT" ; 1801case (int )Op ::OpHitObjectGetWorldRayOriginEXT :return "OpHitObjectGetWorldRayOriginEXT" ; 1802case (int )Op ::OpHitObjectGetWorldToObjectEXT :return "OpHitObjectGetWorldToObjectEXT" ; 1803case (int )Op ::OpHitObjectGetObjectToWorldEXT :return "OpHitObjectGetObjectToWorldEXT" ; 1804case (int )Op ::OpHitObjectGetRayTMaxEXT :return "OpHitObjectGetRayTMaxEXT" ; 1805case (int )Op ::OpHitObjectGetRayTMinEXT :return "OpHitObjectGetRayTMinEXT" ; 1806case (int )Op ::OpHitObjectGetRayFlagsEXT :return "OpHitObjectGetRayFlagsEXT" ; 1807case (int )Op ::OpHitObjectIsEmptyEXT :return "OpHitObjectIsEmptyEXT" ; 1808case (int )Op ::OpHitObjectIsHitEXT :return "OpHitObjectIsHitEXT" ; 1809case (int )Op ::OpHitObjectIsMissEXT :return "OpHitObjectIsMissEXT" ; 1810case (int )Op ::OpHitObjectGetShaderBindingTableRecordIndexEXT :return "OpHitObjectGetShaderBindingTableRecordIndexEXT" ; 1811case (int )Op ::OpHitObjectGetShaderRecordBufferHandleEXT :return "OpHitObjectGetShaderRecordBufferHandleEXT" ; 1812case (int )Op ::OpHitObjectSetShaderBindingTableRecordIndexEXT :return "OpHitObjectSetShaderBindingTableRecordIndexEXT" ; 1813case (int )Op ::OpHitObjectReorderExecuteShaderEXT :return "OpHitObjectReorderExecuteEXT" ; 1814case (int )Op ::OpHitObjectTraceReorderExecuteEXT :return "OpHitObjectTraceReorderExecuteEXT" ; 1815case (int )Op ::OpHitObjectTraceMotionReorderExecuteEXT :return "OpHitObjectTraceMotionReorderExecuteEXT" ; 1816case (int )Op ::OpHitObjectRecordFromQueryEXT :return "OpHitObjectRecordFromQueryEXT" ; 1817case (int )Op ::OpHitObjectGetIntersectionTriangleVertexPositionsEXT :return "OpHitObjectGetIntersectionTriangleVertexPositionsEXT" ; 1818 1819case (int )Op ::OpBitcastExtractEXT :return "OpBitcastExtractEXT" ; 1820case (int )Op ::OpControlBarrierArriveEXT :return "OpControlBarrierArriveEXT" ; 1821case (int )Op ::OpControlBarrierWaitEXT :return "OpControlBarrierWaitEXT" ; 1822 1823default : 1824return "Bad" ; 1825 } 1826} 1827 1828// The set of objects that hold all the instruction/operand 1829// parameterization information. 1830InstructionParameters InstructionDesc [OpCodeMask + 1 ]; 1831OperandParameters ExecutionModeOperands [ExecutionModeCeiling ]; 1832OperandParameters DecorationOperands [DecorationCeiling ]; 1833 1834EnumDefinition OperandClassParams [OperandCount ]; 1835EnumParameters ExecutionModeParams [ExecutionModeCeiling ]; 1836EnumParameters ImageOperandsParams [ImageOperandsCeiling ]; 1837EnumParameters DecorationParams [DecorationCeiling ]; 1838EnumParameters LoopControlParams [FunctionControlCeiling ]; 1839EnumParameters SelectionControlParams [SelectControlCeiling ]; 1840EnumParameters FunctionControlParams [FunctionControlCeiling ]; 1841EnumParameters MemoryAccessParams [MemoryAccessCeiling ]; 1842EnumParameters CooperativeMatrixOperandsParams [CooperativeMatrixOperandsCeiling ]; 1843EnumParameters TensorAddressingOperandsParams [TensorAddressingOperandsCeiling ]; 1844 1845// Set up all the parameterizing descriptions of the opcodes, operands, etc. 1846void Parameterize () 1847{ 1848// only do this once. 1849static std::once_flag initialized ; 1850 std::call_once (initialized , [](){ 1851 1852// Exceptions to having a result <id> and a resulting type <id>. 1853// (Everything is initialized to have both). 1854 1855InstructionDesc [enumCast (Op ::OpNop )].setResultAndType (false, false); 1856InstructionDesc [enumCast (Op ::OpSource )].setResultAndType (false, false); 1857InstructionDesc [enumCast (Op ::OpSourceContinued )].setResultAndType (false, false); 1858InstructionDesc [enumCast (Op ::OpSourceExtension )].setResultAndType (false, false); 1859InstructionDesc [enumCast (Op ::OpExtension )].setResultAndType (false, false); 1860InstructionDesc [enumCast (Op ::OpExtInstImport )].setResultAndType (true, false); 1861InstructionDesc [enumCast (Op ::OpCapability )].setResultAndType (false, false); 1862InstructionDesc [enumCast (Op ::OpMemoryModel )].setResultAndType (false, false); 1863InstructionDesc [enumCast (Op ::OpEntryPoint )].setResultAndType (false, false); 1864InstructionDesc [enumCast (Op ::OpExecutionMode )].setResultAndType (false, false); 1865InstructionDesc [enumCast (Op ::OpExecutionModeId )].setResultAndType (false, false); 1866InstructionDesc [enumCast (Op ::OpTypeVoid )].setResultAndType (true, false); 1867InstructionDesc [enumCast (Op ::OpTypeBool )].setResultAndType (true, false); 1868InstructionDesc [enumCast (Op ::OpTypeInt )].setResultAndType (true, false); 1869InstructionDesc [enumCast (Op ::OpTypeFloat )].setResultAndType (true, false); 1870InstructionDesc [enumCast (Op ::OpTypeVector )].setResultAndType (true, false); 1871InstructionDesc [enumCast (Op ::OpTypeMatrix )].setResultAndType (true, false); 1872InstructionDesc [enumCast (Op ::OpTypeImage )].setResultAndType (true, false); 1873InstructionDesc [enumCast (Op ::OpTypeSampler )].setResultAndType (true, false); 1874InstructionDesc [enumCast (Op ::OpTypeSampledImage )].setResultAndType (true, false); 1875InstructionDesc [enumCast (Op ::OpTypeArray )].setResultAndType (true, false); 1876InstructionDesc [enumCast (Op ::OpTypeRuntimeArray )].setResultAndType (true, false); 1877InstructionDesc [enumCast (Op ::OpTypeStruct )].setResultAndType (true, false); 1878InstructionDesc [enumCast (Op ::OpTypeOpaque )].setResultAndType (true, false); 1879InstructionDesc [enumCast (Op ::OpTypePointer )].setResultAndType (true, false); 1880InstructionDesc [enumCast (Op ::OpTypeUntypedPointerKHR )].setResultAndType (true, false); 1881InstructionDesc [enumCast (Op ::OpTypeForwardPointer )].setResultAndType (false, false); 1882InstructionDesc [enumCast (Op ::OpTypeFunction )].setResultAndType (true, false); 1883InstructionDesc [enumCast (Op ::OpTypeEvent )].setResultAndType (true, false); 1884InstructionDesc [enumCast (Op ::OpTypeDeviceEvent )].setResultAndType (true, false); 1885InstructionDesc [enumCast (Op ::OpTypeReserveId )].setResultAndType (true, false); 1886InstructionDesc [enumCast (Op ::OpTypeQueue )].setResultAndType (true, false); 1887InstructionDesc [enumCast (Op ::OpTypePipe )].setResultAndType (true, false); 1888InstructionDesc [enumCast (Op ::OpFunctionEnd )].setResultAndType (false, false); 1889InstructionDesc [enumCast (Op ::OpStore )].setResultAndType (false, false); 1890InstructionDesc [enumCast (Op ::OpImageWrite )].setResultAndType (false, false); 1891InstructionDesc [enumCast (Op ::OpDecorationGroup )].setResultAndType (true, false); 1892InstructionDesc [enumCast (Op ::OpDecorate )].setResultAndType (false, false); 1893InstructionDesc [enumCast (Op ::OpDecorateId )].setResultAndType (false, false); 1894InstructionDesc [enumCast (Op ::OpDecorateStringGOOGLE )].setResultAndType (false, false); 1895InstructionDesc [enumCast (Op ::OpMemberDecorate )].setResultAndType (false, false); 1896InstructionDesc [enumCast (Op ::OpMemberDecorateStringGOOGLE )].setResultAndType (false, false); 1897InstructionDesc [enumCast (Op ::OpGroupDecorate )].setResultAndType (false, false); 1898InstructionDesc [enumCast (Op ::OpGroupMemberDecorate )].setResultAndType (false, false); 1899InstructionDesc [enumCast (Op ::OpName )].setResultAndType (false, false); 1900InstructionDesc [enumCast (Op ::OpMemberName )].setResultAndType (false, false); 1901InstructionDesc [enumCast (Op ::OpString )].setResultAndType (true, false); 1902InstructionDesc [enumCast (Op ::OpLine )].setResultAndType (false, false); 1903InstructionDesc [enumCast (Op ::OpNoLine )].setResultAndType (false, false); 1904InstructionDesc [enumCast (Op ::OpCopyMemory )].setResultAndType (false, false); 1905InstructionDesc [enumCast (Op ::OpCopyMemorySized )].setResultAndType (false, false); 1906InstructionDesc [enumCast (Op ::OpEmitVertex )].setResultAndType (false, false); 1907InstructionDesc [enumCast (Op ::OpEndPrimitive )].setResultAndType (false, false); 1908InstructionDesc [enumCast (Op ::OpEmitStreamVertex )].setResultAndType (false, false); 1909InstructionDesc [enumCast (Op ::OpEndStreamPrimitive )].setResultAndType (false, false); 1910InstructionDesc [enumCast (Op ::OpControlBarrier )].setResultAndType (false, false); 1911InstructionDesc [enumCast (Op ::OpControlBarrierArriveEXT )].setResultAndType (false, false); 1912InstructionDesc [enumCast (Op ::OpControlBarrierWaitEXT )].setResultAndType (false, false); 1913InstructionDesc [enumCast (Op ::OpMemoryBarrier )].setResultAndType (false, false); 1914InstructionDesc [enumCast (Op ::OpAtomicStore )].setResultAndType (false, false); 1915InstructionDesc [enumCast (Op ::OpLoopMerge )].setResultAndType (false, false); 1916InstructionDesc [enumCast (Op ::OpSelectionMerge )].setResultAndType (false, false); 1917InstructionDesc [enumCast (Op ::OpLabel )].setResultAndType (true, false); 1918InstructionDesc [enumCast (Op ::OpBranch )].setResultAndType (false, false); 1919InstructionDesc [enumCast (Op ::OpBranchConditional )].setResultAndType (false, false); 1920InstructionDesc [enumCast (Op ::OpSwitch )].setResultAndType (false, false); 1921InstructionDesc [enumCast (Op ::OpKill )].setResultAndType (false, false); 1922InstructionDesc [enumCast (Op ::OpTerminateInvocation )].setResultAndType (false, false); 1923InstructionDesc [enumCast (Op ::OpReturn )].setResultAndType (false, false); 1924InstructionDesc [enumCast (Op ::OpReturnValue )].setResultAndType (false, false); 1925InstructionDesc [enumCast (Op ::OpUnreachable )].setResultAndType (false, false); 1926InstructionDesc [enumCast (Op ::OpLifetimeStart )].setResultAndType (false, false); 1927InstructionDesc [enumCast (Op ::OpLifetimeStop )].setResultAndType (false, false); 1928InstructionDesc [enumCast (Op ::OpCommitReadPipe )].setResultAndType (false, false); 1929InstructionDesc [enumCast (Op ::OpCommitWritePipe )].setResultAndType (false, false); 1930InstructionDesc [enumCast (Op ::OpGroupCommitWritePipe )].setResultAndType (false, false); 1931InstructionDesc [enumCast (Op ::OpGroupCommitReadPipe )].setResultAndType (false, false); 1932InstructionDesc [enumCast (Op ::OpCaptureEventProfilingInfo )].setResultAndType (false, false); 1933InstructionDesc [enumCast (Op ::OpSetUserEventStatus )].setResultAndType (false, false); 1934InstructionDesc [enumCast (Op ::OpRetainEvent )].setResultAndType (false, false); 1935InstructionDesc [enumCast (Op ::OpReleaseEvent )].setResultAndType (false, false); 1936InstructionDesc [enumCast (Op ::OpGroupWaitEvents )].setResultAndType (false, false); 1937InstructionDesc [enumCast (Op ::OpAtomicFlagClear )].setResultAndType (false, false); 1938InstructionDesc [enumCast (Op ::OpModuleProcessed )].setResultAndType (false, false); 1939InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixNV )].setResultAndType (true, false); 1940InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].setResultAndType (false, false); 1941InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixKHR )].setResultAndType (true, false); 1942InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].setResultAndType (false, false); 1943InstructionDesc [enumCast (Op ::OpBeginInvocationInterlockEXT )].setResultAndType (false, false); 1944InstructionDesc [enumCast (Op ::OpEndInvocationInterlockEXT )].setResultAndType (false, false); 1945InstructionDesc [enumCast (Op ::OpAssumeTrueKHR )].setResultAndType (false, false); 1946InstructionDesc [enumCast (Op ::OpTypeTensorLayoutNV )].setResultAndType (true, false); 1947InstructionDesc [enumCast (Op ::OpTypeTensorViewNV )].setResultAndType (true, false); 1948InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreTensorNV )].setResultAndType (false, false); 1949InstructionDesc [enumCast (Op ::OpTypeCooperativeVectorNV )].setResultAndType (true, false); 1950InstructionDesc [enumCast (Op ::OpCooperativeVectorStoreNV )].setResultAndType (false, false); 1951InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].setResultAndType (false, false); 1952InstructionDesc [enumCast (Op ::OpCooperativeVectorReduceSumAccumulateNV )].setResultAndType (false, false); 1953InstructionDesc [enumCast (Op ::OpMemberDecorateIdEXT )].setResultAndType (false, false); 1954 1955InstructionDesc [enumCast (Op ::OpTypeTensorARM )].setResultAndType (true, false); 1956InstructionDesc [enumCast (Op ::OpTensorReadARM )].setResultAndType (true, true); 1957InstructionDesc [enumCast (Op ::OpTensorWriteARM )].setResultAndType (false, false); 1958 1959// Specific additional context-dependent operands 1960 1961ExecutionModeOperands [enumCast (ExecutionMode ::Invocations )].push (OperandLiteralNumber ,"'Number of <<Invocation,invocations>>'" ); 1962 1963ExecutionModeOperands [enumCast (ExecutionMode ::LocalSize )].push (OperandLiteralNumber ,"'x size'" ); 1964ExecutionModeOperands [enumCast (ExecutionMode ::LocalSize )].push (OperandLiteralNumber ,"'y size'" ); 1965ExecutionModeOperands [enumCast (ExecutionMode ::LocalSize )].push (OperandLiteralNumber ,"'z size'" ); 1966 1967ExecutionModeOperands [enumCast (ExecutionMode ::LocalSizeHint )].push (OperandLiteralNumber ,"'x size'" ); 1968ExecutionModeOperands [enumCast (ExecutionMode ::LocalSizeHint )].push (OperandLiteralNumber ,"'y size'" ); 1969ExecutionModeOperands [enumCast (ExecutionMode ::LocalSizeHint )].push (OperandLiteralNumber ,"'z size'" ); 1970 1971ExecutionModeOperands [enumCast (ExecutionMode ::OutputVertices )].push (OperandLiteralNumber ,"'Vertex count'" ); 1972ExecutionModeOperands [enumCast (ExecutionMode ::VecTypeHint )].push (OperandLiteralNumber ,"'Vector type'" ); 1973 1974DecorationOperands [enumCast (Decoration ::Stream )].push (OperandLiteralNumber ,"'Stream Number'" ); 1975DecorationOperands [enumCast (Decoration ::Location )].push (OperandLiteralNumber ,"'Location'" ); 1976DecorationOperands [enumCast (Decoration ::Component )].push (OperandLiteralNumber ,"'Component'" ); 1977DecorationOperands [enumCast (Decoration ::Index )].push (OperandLiteralNumber ,"'Index'" ); 1978DecorationOperands [enumCast (Decoration ::Binding )].push (OperandLiteralNumber ,"'Binding Point'" ); 1979DecorationOperands [enumCast (Decoration ::DescriptorSet )].push (OperandLiteralNumber ,"'Descriptor Set'" ); 1980DecorationOperands [enumCast (Decoration ::Offset )].push (OperandLiteralNumber ,"'Byte Offset'" ); 1981DecorationOperands [enumCast (Decoration ::XfbBuffer )].push (OperandLiteralNumber ,"'XFB Buffer Number'" ); 1982DecorationOperands [enumCast (Decoration ::XfbStride )].push (OperandLiteralNumber ,"'XFB Stride'" ); 1983DecorationOperands [enumCast (Decoration ::ArrayStride )].push (OperandLiteralNumber ,"'Array Stride'" ); 1984DecorationOperands [enumCast (Decoration ::MatrixStride )].push (OperandLiteralNumber ,"'Matrix Stride'" ); 1985DecorationOperands [enumCast (Decoration ::BuiltIn )].push (OperandLiteralNumber ,"See <<BuiltIn,*BuiltIn*>>" ); 1986DecorationOperands [enumCast (Decoration ::FPRoundingMode )].push (OperandFPRoundingMode ,"'Floating-Point Rounding Mode'" ); 1987DecorationOperands [enumCast (Decoration ::FPFastMathMode )].push (OperandFPFastMath ,"'Fast-Math Mode'" ); 1988DecorationOperands [enumCast (Decoration ::LinkageAttributes )].push (OperandLiteralString ,"'Name'" ); 1989DecorationOperands [enumCast (Decoration ::LinkageAttributes )].push (OperandLinkageType ,"'Linkage Type'" ); 1990DecorationOperands [enumCast (Decoration ::FuncParamAttr )].push (OperandFuncParamAttr ,"'Function Parameter Attribute'" ); 1991DecorationOperands [enumCast (Decoration ::SpecId )].push (OperandLiteralNumber ,"'Specialization Constant ID'" ); 1992DecorationOperands [enumCast (Decoration ::InputAttachmentIndex )].push (OperandLiteralNumber ,"'Attachment Index'" ); 1993DecorationOperands [enumCast (Decoration ::Alignment )].push (OperandLiteralNumber ,"'Alignment'" ); 1994 1995OperandClassParams [OperandSource ].set (0 ,SourceString ,nullptr ); 1996OperandClassParams [OperandExecutionModel ].set (0 ,ExecutionModelString ,nullptr ); 1997OperandClassParams [OperandAddressing ].set (0 ,AddressingString ,nullptr ); 1998OperandClassParams [OperandMemory ].set (0 ,MemoryString ,nullptr ); 1999OperandClassParams [OperandExecutionMode ].set (ExecutionModeCeiling ,ExecutionModeString ,ExecutionModeParams ); 2000OperandClassParams [OperandExecutionMode ].setOperands (ExecutionModeOperands ); 2001OperandClassParams [OperandStorage ].set (0 ,StorageClassString ,nullptr ); 2002OperandClassParams [OperandDimensionality ].set (0 ,DimensionString ,nullptr ); 2003OperandClassParams [OperandSamplerAddressingMode ].set (0 ,SamplerAddressingModeString ,nullptr ); 2004OperandClassParams [OperandSamplerFilterMode ].set (0 ,SamplerFilterModeString ,nullptr ); 2005OperandClassParams [OperandSamplerImageFormat ].set (0 ,ImageFormatString ,nullptr ); 2006OperandClassParams [OperandImageChannelOrder ].set (0 ,ImageChannelOrderString ,nullptr ); 2007OperandClassParams [OperandImageChannelDataType ].set (0 ,ImageChannelDataTypeString ,nullptr ); 2008OperandClassParams [OperandImageOperands ].set (ImageOperandsCeiling ,ImageOperandsString ,ImageOperandsParams , true); 2009OperandClassParams [OperandFPFastMath ].set (0 ,FPFastMathString ,nullptr , true); 2010OperandClassParams [OperandFPRoundingMode ].set (0 ,FPRoundingModeString ,nullptr ); 2011OperandClassParams [OperandLinkageType ].set (0 ,LinkageTypeString ,nullptr ); 2012OperandClassParams [OperandFuncParamAttr ].set (0 ,FuncParamAttrString ,nullptr ); 2013OperandClassParams [OperandAccessQualifier ].set (0 ,AccessQualifierString ,nullptr ); 2014OperandClassParams [OperandDecoration ].set (DecorationCeiling ,DecorationString ,DecorationParams ); 2015OperandClassParams [OperandDecoration ].setOperands (DecorationOperands ); 2016OperandClassParams [OperandBuiltIn ].set (0 ,BuiltInString ,nullptr ); 2017OperandClassParams [OperandSelect ].set (SelectControlCeiling ,SelectControlString ,SelectionControlParams , true); 2018OperandClassParams [OperandLoop ].set (LoopControlCeiling ,LoopControlString ,LoopControlParams , true); 2019OperandClassParams [OperandFunction ].set (FunctionControlCeiling ,FunctionControlString ,FunctionControlParams , true); 2020OperandClassParams [OperandMemorySemantics ].set (0 ,MemorySemanticsString ,nullptr , true); 2021OperandClassParams [OperandMemoryAccess ].set (MemoryAccessCeiling ,MemoryAccessString ,MemoryAccessParams , true); 2022OperandClassParams [OperandScope ].set (0 ,ScopeString ,nullptr ); 2023OperandClassParams [OperandGroupOperation ].set (0 ,GroupOperationString ,nullptr ); 2024OperandClassParams [OperandKernelEnqueueFlags ].set (0 ,KernelEnqueueFlagsString ,nullptr ); 2025OperandClassParams [OperandKernelProfilingInfo ].set (0 ,KernelProfilingInfoString ,nullptr , true); 2026OperandClassParams [OperandCapability ].set (0 ,CapabilityString ,nullptr ); 2027OperandClassParams [OperandCooperativeMatrixOperands ].set (CooperativeMatrixOperandsCeiling ,CooperativeMatrixOperandsString ,CooperativeMatrixOperandsParams , true); 2028OperandClassParams [OperandTensorAddressingOperands ].set (TensorAddressingOperandsCeiling ,TensorAddressingOperandsString ,TensorAddressingOperandsParams , true); 2029OperandClassParams [OperandOpcode ].set (OpCodeMask + 1 ,OpcodeString ,nullptr ); 2030 2031// set name of operator, an initial set of <id> style operands, and the description 2032 2033InstructionDesc [enumCast (Op ::OpSource )].operands .push (OperandSource ,"" ); 2034InstructionDesc [enumCast (Op ::OpSource )].operands .push (OperandLiteralNumber ,"'Version'" ); 2035InstructionDesc [enumCast (Op ::OpSource )].operands .push (OperandId ,"'File'" , true); 2036InstructionDesc [enumCast (Op ::OpSource )].operands .push (OperandLiteralString ,"'Source'" , true); 2037 2038InstructionDesc [enumCast (Op ::OpSourceContinued )].operands .push (OperandLiteralString ,"'Continued Source'" ); 2039 2040InstructionDesc [enumCast (Op ::OpSourceExtension )].operands .push (OperandLiteralString ,"'Extension'" ); 2041 2042InstructionDesc [enumCast (Op ::OpName )].operands .push (OperandId ,"'Target'" ); 2043InstructionDesc [enumCast (Op ::OpName )].operands .push (OperandLiteralString ,"'Name'" ); 2044 2045InstructionDesc [enumCast (Op ::OpMemberName )].operands .push (OperandId ,"'Type'" ); 2046InstructionDesc [enumCast (Op ::OpMemberName )].operands .push (OperandLiteralNumber ,"'Member'" ); 2047InstructionDesc [enumCast (Op ::OpMemberName )].operands .push (OperandLiteralString ,"'Name'" ); 2048 2049InstructionDesc [enumCast (Op ::OpString )].operands .push (OperandLiteralString ,"'String'" ); 2050 2051InstructionDesc [enumCast (Op ::OpLine )].operands .push (OperandId ,"'File'" ); 2052InstructionDesc [enumCast (Op ::OpLine )].operands .push (OperandLiteralNumber ,"'Line'" ); 2053InstructionDesc [enumCast (Op ::OpLine )].operands .push (OperandLiteralNumber ,"'Column'" ); 2054 2055InstructionDesc [enumCast (Op ::OpExtension )].operands .push (OperandLiteralString ,"'Name'" ); 2056 2057InstructionDesc [enumCast (Op ::OpExtInstImport )].operands .push (OperandLiteralString ,"'Name'" ); 2058 2059InstructionDesc [enumCast (Op ::OpCapability )].operands .push (OperandCapability ,"'Capability'" ); 2060 2061InstructionDesc [enumCast (Op ::OpMemoryModel )].operands .push (OperandAddressing ,"" ); 2062InstructionDesc [enumCast (Op ::OpMemoryModel )].operands .push (OperandMemory ,"" ); 2063 2064InstructionDesc [enumCast (Op ::OpEntryPoint )].operands .push (OperandExecutionModel ,"" ); 2065InstructionDesc [enumCast (Op ::OpEntryPoint )].operands .push (OperandId ,"'Entry Point'" ); 2066InstructionDesc [enumCast (Op ::OpEntryPoint )].operands .push (OperandLiteralString ,"'Name'" ); 2067InstructionDesc [enumCast (Op ::OpEntryPoint )].operands .push (OperandVariableIds ,"'Interface'" ); 2068 2069InstructionDesc [enumCast (Op ::OpExecutionMode )].operands .push (OperandId ,"'Entry Point'" ); 2070InstructionDesc [enumCast (Op ::OpExecutionMode )].operands .push (OperandExecutionMode ,"'Mode'" ); 2071InstructionDesc [enumCast (Op ::OpExecutionMode )].operands .push (OperandOptionalLiteral ,"See <<Execution_Mode,Execution Mode>>" ); 2072 2073InstructionDesc [enumCast (Op ::OpExecutionModeId )].operands .push (OperandId ,"'Entry Point'" ); 2074InstructionDesc [enumCast (Op ::OpExecutionModeId )].operands .push (OperandExecutionMode ,"'Mode'" ); 2075InstructionDesc [enumCast (Op ::OpExecutionModeId )].operands .push (OperandVariableIds ,"See <<Execution_Mode,Execution Mode>>" ); 2076 2077InstructionDesc [enumCast (Op ::OpTypeInt )].operands .push (OperandLiteralNumber ,"'Width'" ); 2078InstructionDesc [enumCast (Op ::OpTypeInt )].operands .push (OperandLiteralNumber ,"'Signedness'" ); 2079 2080InstructionDesc [enumCast (Op ::OpTypeFloat )].operands .push (OperandLiteralNumber ,"'Width'" ); 2081InstructionDesc [enumCast (Op ::OpTypeFloat )].operands .push (OperandOptionalLiteral ,"'FP Encoding'" ); 2082 2083InstructionDesc [enumCast (Op ::OpTypeVector )].operands .push (OperandId ,"'Component Type'" ); 2084InstructionDesc [enumCast (Op ::OpTypeVector )].operands .push (OperandLiteralNumber ,"'Component Count'" ); 2085 2086InstructionDesc [enumCast (Op ::OpTypeMatrix )].operands .push (OperandId ,"'Column Type'" ); 2087InstructionDesc [enumCast (Op ::OpTypeMatrix )].operands .push (OperandLiteralNumber ,"'Column Count'" ); 2088 2089InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandId ,"'Sampled Type'" ); 2090InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandDimensionality ,"" ); 2091InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandLiteralNumber ,"'Depth'" ); 2092InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandLiteralNumber ,"'Arrayed'" ); 2093InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandLiteralNumber ,"'MS'" ); 2094InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandLiteralNumber ,"'Sampled'" ); 2095InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandSamplerImageFormat ,"" ); 2096InstructionDesc [enumCast (Op ::OpTypeImage )].operands .push (OperandAccessQualifier ,"" , true); 2097 2098InstructionDesc [enumCast (Op ::OpTypeSampledImage )].operands .push (OperandId ,"'Image Type'" ); 2099 2100InstructionDesc [enumCast (Op ::OpTypeArray )].operands .push (OperandId ,"'Element Type'" ); 2101InstructionDesc [enumCast (Op ::OpTypeArray )].operands .push (OperandId ,"'Length'" ); 2102 2103InstructionDesc [enumCast (Op ::OpTypeRuntimeArray )].operands .push (OperandId ,"'Element Type'" ); 2104 2105InstructionDesc [enumCast (Op ::OpTypeStruct )].operands .push (OperandVariableIds ,"'Member 0 type', +\n'member 1 type', +\n..." ); 2106 2107InstructionDesc [enumCast (Op ::OpTypeOpaque )].operands .push (OperandLiteralString ,"The name of the opaque type." ); 2108InstructionDesc [enumCast (Op ::OpTypeUntypedPointerKHR )].operands .push (OperandStorage ,"" ); 2109 2110InstructionDesc [enumCast (Op ::OpTypePointer )].operands .push (OperandStorage ,"" ); 2111InstructionDesc [enumCast (Op ::OpTypePointer )].operands .push (OperandId ,"'Type'" ); 2112 2113InstructionDesc [enumCast (Op ::OpTypeForwardPointer )].operands .push (OperandId ,"'Pointer Type'" ); 2114InstructionDesc [enumCast (Op ::OpTypeForwardPointer )].operands .push (OperandStorage ,"" ); 2115 2116InstructionDesc [enumCast (Op ::OpTypePipe )].operands .push (OperandAccessQualifier ,"'Qualifier'" ); 2117 2118InstructionDesc [enumCast (Op ::OpTypeFunction )].operands .push (OperandId ,"'Return Type'" ); 2119InstructionDesc [enumCast (Op ::OpTypeFunction )].operands .push (OperandVariableIds ,"'Parameter 0 Type', +\n'Parameter 1 Type', +\n..." ); 2120 2121InstructionDesc [enumCast (Op ::OpConstant )].operands .push (OperandVariableLiterals ,"'Value'" ); 2122 2123InstructionDesc [enumCast (Op ::OpConstantComposite )].operands .push (OperandVariableIds ,"'Constituents'" ); 2124 2125InstructionDesc [enumCast (Op ::OpConstantSampler )].operands .push (OperandSamplerAddressingMode ,"" ); 2126InstructionDesc [enumCast (Op ::OpConstantSampler )].operands .push (OperandLiteralNumber ,"'Param'" ); 2127InstructionDesc [enumCast (Op ::OpConstantSampler )].operands .push (OperandSamplerFilterMode ,"" ); 2128 2129InstructionDesc [enumCast (Op ::OpSpecConstant )].operands .push (OperandVariableLiterals ,"'Value'" ); 2130 2131InstructionDesc [enumCast (Op ::OpSpecConstantComposite )].operands .push (OperandVariableIds ,"'Constituents'" ); 2132 2133InstructionDesc [enumCast (Op ::OpSpecConstantOp )].operands .push (OperandLiteralNumber ,"'Opcode'" ); 2134InstructionDesc [enumCast (Op ::OpSpecConstantOp )].operands .push (OperandVariableIds ,"'Operands'" ); 2135 2136InstructionDesc [enumCast (Op ::OpUntypedVariableKHR )].operands .push (OperandStorage ,"" ); 2137InstructionDesc [enumCast (Op ::OpUntypedVariableKHR )].operands .push (OperandId ,"'Type'" , true); 2138InstructionDesc [enumCast (Op ::OpUntypedVariableKHR )].operands .push (OperandId ,"'Initializer'" , true); 2139InstructionDesc [enumCast (Op ::OpVariable )].operands .push (OperandStorage ,"" ); 2140InstructionDesc [enumCast (Op ::OpVariable )].operands .push (OperandId ,"'Initializer'" , true); 2141 2142InstructionDesc [enumCast (Op ::OpFunction )].operands .push (OperandFunction ,"" ); 2143InstructionDesc [enumCast (Op ::OpFunction )].operands .push (OperandId ,"'Function Type'" ); 2144 2145InstructionDesc [enumCast (Op ::OpFunctionCall )].operands .push (OperandId ,"'Function'" ); 2146InstructionDesc [enumCast (Op ::OpFunctionCall )].operands .push (OperandVariableIds ,"'Argument 0', +\n'Argument 1', +\n..." ); 2147 2148InstructionDesc [enumCast (Op ::OpExtInst )].operands .push (OperandId ,"'Set'" ); 2149InstructionDesc [enumCast (Op ::OpExtInst )].operands .push (OperandLiteralNumber ,"'Instruction'" ); 2150InstructionDesc [enumCast (Op ::OpExtInst )].operands .push (OperandVariableIds ,"'Operand 1', +\n'Operand 2', +\n..." ); 2151 2152InstructionDesc [enumCast (Op ::OpExtInstWithForwardRefsKHR )].operands .push (OperandId ,"'Set'" ); 2153InstructionDesc [enumCast (Op ::OpExtInstWithForwardRefsKHR )].operands .push (OperandLiteralNumber ,"'Instruction'" ); 2154InstructionDesc [enumCast (Op ::OpExtInstWithForwardRefsKHR )].operands .push (OperandVariableIds ,"'Operand 1', +\n'Operand 2', +\n..." ); 2155 2156InstructionDesc [enumCast (Op ::OpLoad )].operands .push (OperandId ,"'Pointer'" ); 2157InstructionDesc [enumCast (Op ::OpLoad )].operands .push (OperandMemoryAccess ,"" , true); 2158InstructionDesc [enumCast (Op ::OpLoad )].operands .push (OperandLiteralNumber ,"" , true); 2159InstructionDesc [enumCast (Op ::OpLoad )].operands .push (OperandId ,"" , true); 2160 2161InstructionDesc [enumCast (Op ::OpStore )].operands .push (OperandId ,"'Pointer'" ); 2162InstructionDesc [enumCast (Op ::OpStore )].operands .push (OperandId ,"'Object'" ); 2163InstructionDesc [enumCast (Op ::OpStore )].operands .push (OperandMemoryAccess ,"" , true); 2164InstructionDesc [enumCast (Op ::OpStore )].operands .push (OperandLiteralNumber ,"" , true); 2165InstructionDesc [enumCast (Op ::OpStore )].operands .push (OperandId ,"" , true); 2166 2167InstructionDesc [enumCast (Op ::OpPhi )].operands .push (OperandVariableIds ,"'Variable, Parent, ...'" ); 2168 2169InstructionDesc [enumCast (Op ::OpDecorate )].operands .push (OperandId ,"'Target'" ); 2170InstructionDesc [enumCast (Op ::OpDecorate )].operands .push (OperandDecoration ,"" ); 2171InstructionDesc [enumCast (Op ::OpDecorate )].operands .push (OperandVariableLiterals ,"See <<Decoration,'Decoration'>>." ); 2172 2173InstructionDesc [enumCast (Op ::OpDecorateId )].operands .push (OperandId ,"'Target'" ); 2174InstructionDesc [enumCast (Op ::OpDecorateId )].operands .push (OperandDecoration ,"" ); 2175InstructionDesc [enumCast (Op ::OpDecorateId )].operands .push (OperandVariableIds ,"See <<Decoration,'Decoration'>>." ); 2176 2177InstructionDesc [enumCast (Op ::OpDecorateStringGOOGLE )].operands .push (OperandId ,"'Target'" ); 2178InstructionDesc [enumCast (Op ::OpDecorateStringGOOGLE )].operands .push (OperandDecoration ,"" ); 2179InstructionDesc [enumCast (Op ::OpDecorateStringGOOGLE )].operands .push (OperandVariableLiteralStrings ,"'Literal Strings'" ); 2180 2181InstructionDesc [enumCast (Op ::OpMemberDecorate )].operands .push (OperandId ,"'Structure Type'" ); 2182InstructionDesc [enumCast (Op ::OpMemberDecorate )].operands .push (OperandLiteralNumber ,"'Member'" ); 2183InstructionDesc [enumCast (Op ::OpMemberDecorate )].operands .push (OperandDecoration ,"" ); 2184InstructionDesc [enumCast (Op ::OpMemberDecorate )].operands .push (OperandVariableLiterals ,"See <<Decoration,'Decoration'>>." ); 2185 2186InstructionDesc [enumCast (Op ::OpMemberDecorateIdEXT )].operands .push (OperandId ,"'Structure Type'" ); 2187InstructionDesc [enumCast (Op ::OpMemberDecorateIdEXT )].operands .push (OperandLiteralNumber ,"'Member'" ); 2188InstructionDesc [enumCast (Op ::OpMemberDecorateIdEXT )].operands .push (OperandDecoration ,"" ); 2189InstructionDesc [enumCast (Op ::OpMemberDecorateIdEXT )].operands .push (OperandVariableIds ,"See <<Decoration,'Decoration'>>." ); 2190 2191InstructionDesc [enumCast (Op ::OpMemberDecorateStringGOOGLE )].operands .push (OperandId ,"'Structure Type'" ); 2192InstructionDesc [enumCast (Op ::OpMemberDecorateStringGOOGLE )].operands .push (OperandLiteralNumber ,"'Member'" ); 2193InstructionDesc [enumCast (Op ::OpMemberDecorateStringGOOGLE )].operands .push (OperandDecoration ,"" ); 2194InstructionDesc [enumCast (Op ::OpMemberDecorateStringGOOGLE )].operands .push (OperandVariableLiteralStrings ,"'Literal Strings'" ); 2195 2196InstructionDesc [enumCast (Op ::OpGroupDecorate )].operands .push (OperandId ,"'Decoration Group'" ); 2197InstructionDesc [enumCast (Op ::OpGroupDecorate )].operands .push (OperandVariableIds ,"'Targets'" ); 2198 2199InstructionDesc [enumCast (Op ::OpGroupMemberDecorate )].operands .push (OperandId ,"'Decoration Group'" ); 2200InstructionDesc [enumCast (Op ::OpGroupMemberDecorate )].operands .push (OperandVariableIdLiteral ,"'Targets'" ); 2201 2202InstructionDesc [enumCast (Op ::OpVectorExtractDynamic )].operands .push (OperandId ,"'Vector'" ); 2203InstructionDesc [enumCast (Op ::OpVectorExtractDynamic )].operands .push (OperandId ,"'Index'" ); 2204 2205InstructionDesc [enumCast (Op ::OpVectorInsertDynamic )].operands .push (OperandId ,"'Vector'" ); 2206InstructionDesc [enumCast (Op ::OpVectorInsertDynamic )].operands .push (OperandId ,"'Component'" ); 2207InstructionDesc [enumCast (Op ::OpVectorInsertDynamic )].operands .push (OperandId ,"'Index'" ); 2208 2209InstructionDesc [enumCast (Op ::OpVectorShuffle )].operands .push (OperandId ,"'Vector 1'" ); 2210InstructionDesc [enumCast (Op ::OpVectorShuffle )].operands .push (OperandId ,"'Vector 2'" ); 2211InstructionDesc [enumCast (Op ::OpVectorShuffle )].operands .push (OperandVariableLiterals ,"'Components'" ); 2212 2213InstructionDesc [enumCast (Op ::OpCompositeConstruct )].operands .push (OperandVariableIds ,"'Constituents'" ); 2214 2215InstructionDesc [enumCast (Op ::OpCompositeExtract )].operands .push (OperandId ,"'Composite'" ); 2216InstructionDesc [enumCast (Op ::OpCompositeExtract )].operands .push (OperandVariableLiterals ,"'Indexes'" ); 2217 2218InstructionDesc [enumCast (Op ::OpCompositeInsert )].operands .push (OperandId ,"'Object'" ); 2219InstructionDesc [enumCast (Op ::OpCompositeInsert )].operands .push (OperandId ,"'Composite'" ); 2220InstructionDesc [enumCast (Op ::OpCompositeInsert )].operands .push (OperandVariableLiterals ,"'Indexes'" ); 2221 2222InstructionDesc [enumCast (Op ::OpCopyObject )].operands .push (OperandId ,"'Operand'" ); 2223 2224InstructionDesc [enumCast (Op ::OpCopyMemory )].operands .push (OperandId ,"'Target'" ); 2225InstructionDesc [enumCast (Op ::OpCopyMemory )].operands .push (OperandId ,"'Source'" ); 2226InstructionDesc [enumCast (Op ::OpCopyMemory )].operands .push (OperandMemoryAccess ,"" , true); 2227 2228InstructionDesc [enumCast (Op ::OpCopyMemorySized )].operands .push (OperandId ,"'Target'" ); 2229InstructionDesc [enumCast (Op ::OpCopyMemorySized )].operands .push (OperandId ,"'Source'" ); 2230InstructionDesc [enumCast (Op ::OpCopyMemorySized )].operands .push (OperandId ,"'Size'" ); 2231InstructionDesc [enumCast (Op ::OpCopyMemorySized )].operands .push (OperandMemoryAccess ,"" , true); 2232 2233InstructionDesc [enumCast (Op ::OpSampledImage )].operands .push (OperandId ,"'Image'" ); 2234InstructionDesc [enumCast (Op ::OpSampledImage )].operands .push (OperandId ,"'Sampler'" ); 2235 2236InstructionDesc [enumCast (Op ::OpImage )].operands .push (OperandId ,"'Sampled Image'" ); 2237 2238InstructionDesc [enumCast (Op ::OpImageRead )].operands .push (OperandId ,"'Image'" ); 2239InstructionDesc [enumCast (Op ::OpImageRead )].operands .push (OperandId ,"'Coordinate'" ); 2240InstructionDesc [enumCast (Op ::OpImageRead )].operands .push (OperandImageOperands ,"" , true); 2241InstructionDesc [enumCast (Op ::OpImageRead )].operands .push (OperandVariableIds ,"" , true); 2242 2243InstructionDesc [enumCast (Op ::OpImageWrite )].operands .push (OperandId ,"'Image'" ); 2244InstructionDesc [enumCast (Op ::OpImageWrite )].operands .push (OperandId ,"'Coordinate'" ); 2245InstructionDesc [enumCast (Op ::OpImageWrite )].operands .push (OperandId ,"'Texel'" ); 2246InstructionDesc [enumCast (Op ::OpImageWrite )].operands .push (OperandImageOperands ,"" , true); 2247InstructionDesc [enumCast (Op ::OpImageWrite )].operands .push (OperandVariableIds ,"" , true); 2248 2249InstructionDesc [enumCast (Op ::OpImageSampleImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2250InstructionDesc [enumCast (Op ::OpImageSampleImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2251InstructionDesc [enumCast (Op ::OpImageSampleImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2252InstructionDesc [enumCast (Op ::OpImageSampleImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2253 2254InstructionDesc [enumCast (Op ::OpImageSampleExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2255InstructionDesc [enumCast (Op ::OpImageSampleExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2256InstructionDesc [enumCast (Op ::OpImageSampleExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2257InstructionDesc [enumCast (Op ::OpImageSampleExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2258 2259InstructionDesc [enumCast (Op ::OpImageSampleDrefImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2260InstructionDesc [enumCast (Op ::OpImageSampleDrefImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2261InstructionDesc [enumCast (Op ::OpImageSampleDrefImplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2262InstructionDesc [enumCast (Op ::OpImageSampleDrefImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2263InstructionDesc [enumCast (Op ::OpImageSampleDrefImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2264 2265InstructionDesc [enumCast (Op ::OpImageSampleDrefExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2266InstructionDesc [enumCast (Op ::OpImageSampleDrefExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2267InstructionDesc [enumCast (Op ::OpImageSampleDrefExplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2268InstructionDesc [enumCast (Op ::OpImageSampleDrefExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2269InstructionDesc [enumCast (Op ::OpImageSampleDrefExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2270 2271InstructionDesc [enumCast (Op ::OpImageSampleProjImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2272InstructionDesc [enumCast (Op ::OpImageSampleProjImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2273InstructionDesc [enumCast (Op ::OpImageSampleProjImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2274InstructionDesc [enumCast (Op ::OpImageSampleProjImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2275 2276InstructionDesc [enumCast (Op ::OpImageSampleProjExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2277InstructionDesc [enumCast (Op ::OpImageSampleProjExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2278InstructionDesc [enumCast (Op ::OpImageSampleProjExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2279InstructionDesc [enumCast (Op ::OpImageSampleProjExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2280 2281InstructionDesc [enumCast (Op ::OpImageSampleProjDrefImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2282InstructionDesc [enumCast (Op ::OpImageSampleProjDrefImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2283InstructionDesc [enumCast (Op ::OpImageSampleProjDrefImplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2284InstructionDesc [enumCast (Op ::OpImageSampleProjDrefImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2285InstructionDesc [enumCast (Op ::OpImageSampleProjDrefImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2286 2287InstructionDesc [enumCast (Op ::OpImageSampleProjDrefExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2288InstructionDesc [enumCast (Op ::OpImageSampleProjDrefExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2289InstructionDesc [enumCast (Op ::OpImageSampleProjDrefExplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2290InstructionDesc [enumCast (Op ::OpImageSampleProjDrefExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2291InstructionDesc [enumCast (Op ::OpImageSampleProjDrefExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2292 2293InstructionDesc [enumCast (Op ::OpImageFetch )].operands .push (OperandId ,"'Image'" ); 2294InstructionDesc [enumCast (Op ::OpImageFetch )].operands .push (OperandId ,"'Coordinate'" ); 2295InstructionDesc [enumCast (Op ::OpImageFetch )].operands .push (OperandImageOperands ,"" , true); 2296InstructionDesc [enumCast (Op ::OpImageFetch )].operands .push (OperandVariableIds ,"" , true); 2297 2298InstructionDesc [enumCast (Op ::OpImageGather )].operands .push (OperandId ,"'Sampled Image'" ); 2299InstructionDesc [enumCast (Op ::OpImageGather )].operands .push (OperandId ,"'Coordinate'" ); 2300InstructionDesc [enumCast (Op ::OpImageGather )].operands .push (OperandId ,"'Component'" ); 2301InstructionDesc [enumCast (Op ::OpImageGather )].operands .push (OperandImageOperands ,"" , true); 2302InstructionDesc [enumCast (Op ::OpImageGather )].operands .push (OperandVariableIds ,"" , true); 2303 2304InstructionDesc [enumCast (Op ::OpImageDrefGather )].operands .push (OperandId ,"'Sampled Image'" ); 2305InstructionDesc [enumCast (Op ::OpImageDrefGather )].operands .push (OperandId ,"'Coordinate'" ); 2306InstructionDesc [enumCast (Op ::OpImageDrefGather )].operands .push (OperandId ,"'D~ref~'" ); 2307InstructionDesc [enumCast (Op ::OpImageDrefGather )].operands .push (OperandImageOperands ,"" , true); 2308InstructionDesc [enumCast (Op ::OpImageDrefGather )].operands .push (OperandVariableIds ,"" , true); 2309 2310InstructionDesc [enumCast (Op ::OpImageSparseSampleImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2311InstructionDesc [enumCast (Op ::OpImageSparseSampleImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2312InstructionDesc [enumCast (Op ::OpImageSparseSampleImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2313InstructionDesc [enumCast (Op ::OpImageSparseSampleImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2314 2315InstructionDesc [enumCast (Op ::OpImageSparseSampleExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2316InstructionDesc [enumCast (Op ::OpImageSparseSampleExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2317InstructionDesc [enumCast (Op ::OpImageSparseSampleExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2318InstructionDesc [enumCast (Op ::OpImageSparseSampleExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2319 2320InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2321InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2322InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefImplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2323InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2324InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2325 2326InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2327InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2328InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefExplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2329InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2330InstructionDesc [enumCast (Op ::OpImageSparseSampleDrefExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2331 2332InstructionDesc [enumCast (Op ::OpImageSparseSampleProjImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2333InstructionDesc [enumCast (Op ::OpImageSparseSampleProjImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2334InstructionDesc [enumCast (Op ::OpImageSparseSampleProjImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2335InstructionDesc [enumCast (Op ::OpImageSparseSampleProjImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2336 2337InstructionDesc [enumCast (Op ::OpImageSparseSampleProjExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2338InstructionDesc [enumCast (Op ::OpImageSparseSampleProjExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2339InstructionDesc [enumCast (Op ::OpImageSparseSampleProjExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2340InstructionDesc [enumCast (Op ::OpImageSparseSampleProjExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2341 2342InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefImplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2343InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefImplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2344InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefImplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2345InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefImplicitLod )].operands .push (OperandImageOperands ,"" , true); 2346InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefImplicitLod )].operands .push (OperandVariableIds ,"" , true); 2347 2348InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefExplicitLod )].operands .push (OperandId ,"'Sampled Image'" ); 2349InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefExplicitLod )].operands .push (OperandId ,"'Coordinate'" ); 2350InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefExplicitLod )].operands .push (OperandId ,"'D~ref~'" ); 2351InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefExplicitLod )].operands .push (OperandImageOperands ,"" , true); 2352InstructionDesc [enumCast (Op ::OpImageSparseSampleProjDrefExplicitLod )].operands .push (OperandVariableIds ,"" , true); 2353 2354InstructionDesc [enumCast (Op ::OpImageSparseFetch )].operands .push (OperandId ,"'Image'" ); 2355InstructionDesc [enumCast (Op ::OpImageSparseFetch )].operands .push (OperandId ,"'Coordinate'" ); 2356InstructionDesc [enumCast (Op ::OpImageSparseFetch )].operands .push (OperandImageOperands ,"" , true); 2357InstructionDesc [enumCast (Op ::OpImageSparseFetch )].operands .push (OperandVariableIds ,"" , true); 2358 2359InstructionDesc [enumCast (Op ::OpImageSparseGather )].operands .push (OperandId ,"'Sampled Image'" ); 2360InstructionDesc [enumCast (Op ::OpImageSparseGather )].operands .push (OperandId ,"'Coordinate'" ); 2361InstructionDesc [enumCast (Op ::OpImageSparseGather )].operands .push (OperandId ,"'Component'" ); 2362InstructionDesc [enumCast (Op ::OpImageSparseGather )].operands .push (OperandImageOperands ,"" , true); 2363InstructionDesc [enumCast (Op ::OpImageSparseGather )].operands .push (OperandVariableIds ,"" , true); 2364 2365InstructionDesc [enumCast (Op ::OpImageSparseDrefGather )].operands .push (OperandId ,"'Sampled Image'" ); 2366InstructionDesc [enumCast (Op ::OpImageSparseDrefGather )].operands .push (OperandId ,"'Coordinate'" ); 2367InstructionDesc [enumCast (Op ::OpImageSparseDrefGather )].operands .push (OperandId ,"'D~ref~'" ); 2368InstructionDesc [enumCast (Op ::OpImageSparseDrefGather )].operands .push (OperandImageOperands ,"" , true); 2369InstructionDesc [enumCast (Op ::OpImageSparseDrefGather )].operands .push (OperandVariableIds ,"" , true); 2370 2371InstructionDesc [enumCast (Op ::OpImageSparseRead )].operands .push (OperandId ,"'Image'" ); 2372InstructionDesc [enumCast (Op ::OpImageSparseRead )].operands .push (OperandId ,"'Coordinate'" ); 2373InstructionDesc [enumCast (Op ::OpImageSparseRead )].operands .push (OperandImageOperands ,"" , true); 2374InstructionDesc [enumCast (Op ::OpImageSparseRead )].operands .push (OperandVariableIds ,"" , true); 2375 2376InstructionDesc [enumCast (Op ::OpImageSparseTexelsResident )].operands .push (OperandId ,"'Resident Code'" ); 2377 2378InstructionDesc [enumCast (Op ::OpImageQuerySizeLod )].operands .push (OperandId ,"'Image'" ); 2379InstructionDesc [enumCast (Op ::OpImageQuerySizeLod )].operands .push (OperandId ,"'Level of Detail'" ); 2380 2381InstructionDesc [enumCast (Op ::OpImageQuerySize )].operands .push (OperandId ,"'Image'" ); 2382 2383InstructionDesc [enumCast (Op ::OpImageQueryLod )].operands .push (OperandId ,"'Image'" ); 2384InstructionDesc [enumCast (Op ::OpImageQueryLod )].operands .push (OperandId ,"'Coordinate'" ); 2385 2386InstructionDesc [enumCast (Op ::OpImageQueryLevels )].operands .push (OperandId ,"'Image'" ); 2387 2388InstructionDesc [enumCast (Op ::OpImageQuerySamples )].operands .push (OperandId ,"'Image'" ); 2389 2390InstructionDesc [enumCast (Op ::OpImageQueryFormat )].operands .push (OperandId ,"'Image'" ); 2391 2392InstructionDesc [enumCast (Op ::OpImageQueryOrder )].operands .push (OperandId ,"'Image'" ); 2393 2394InstructionDesc [enumCast (Op ::OpAccessChain )].operands .push (OperandId ,"'Base'" ); 2395InstructionDesc [enumCast (Op ::OpAccessChain )].operands .push (OperandVariableIds ,"'Indexes'" ); 2396 2397InstructionDesc [enumCast (Op ::OpUntypedAccessChainKHR )].operands .push (OperandId ,"'Base Type'" ); 2398InstructionDesc [enumCast (Op ::OpUntypedAccessChainKHR )].operands .push (OperandId ,"'Base'" ); 2399InstructionDesc [enumCast (Op ::OpUntypedAccessChainKHR )].operands .push (OperandVariableIds ,"'Indexes'" ); 2400InstructionDesc [enumCast (Op ::OpInBoundsAccessChain )].operands .push (OperandId ,"'Base'" ); 2401InstructionDesc [enumCast (Op ::OpInBoundsAccessChain )].operands .push (OperandVariableIds ,"'Indexes'" ); 2402 2403InstructionDesc [enumCast (Op ::OpPtrAccessChain )].operands .push (OperandId ,"'Base'" ); 2404InstructionDesc [enumCast (Op ::OpPtrAccessChain )].operands .push (OperandId ,"'Element'" ); 2405InstructionDesc [enumCast (Op ::OpPtrAccessChain )].operands .push (OperandVariableIds ,"'Indexes'" ); 2406 2407InstructionDesc [enumCast (Op ::OpInBoundsPtrAccessChain )].operands .push (OperandId ,"'Base'" ); 2408InstructionDesc [enumCast (Op ::OpInBoundsPtrAccessChain )].operands .push (OperandId ,"'Element'" ); 2409InstructionDesc [enumCast (Op ::OpInBoundsPtrAccessChain )].operands .push (OperandVariableIds ,"'Indexes'" ); 2410 2411InstructionDesc [enumCast (Op ::OpSNegate )].operands .push (OperandId ,"'Operand'" ); 2412 2413InstructionDesc [enumCast (Op ::OpFNegate )].operands .push (OperandId ,"'Operand'" ); 2414 2415InstructionDesc [enumCast (Op ::OpNot )].operands .push (OperandId ,"'Operand'" ); 2416 2417InstructionDesc [enumCast (Op ::OpAny )].operands .push (OperandId ,"'Vector'" ); 2418 2419InstructionDesc [enumCast (Op ::OpAll )].operands .push (OperandId ,"'Vector'" ); 2420 2421InstructionDesc [enumCast (Op ::OpConvertFToU )].operands .push (OperandId ,"'Float Value'" ); 2422 2423InstructionDesc [enumCast (Op ::OpConvertFToS )].operands .push (OperandId ,"'Float Value'" ); 2424 2425InstructionDesc [enumCast (Op ::OpConvertSToF )].operands .push (OperandId ,"'Signed Value'" ); 2426 2427InstructionDesc [enumCast (Op ::OpConvertUToF )].operands .push (OperandId ,"'Unsigned Value'" ); 2428 2429InstructionDesc [enumCast (Op ::OpUConvert )].operands .push (OperandId ,"'Unsigned Value'" ); 2430 2431InstructionDesc [enumCast (Op ::OpSConvert )].operands .push (OperandId ,"'Signed Value'" ); 2432 2433InstructionDesc [enumCast (Op ::OpFConvert )].operands .push (OperandId ,"'Float Value'" ); 2434 2435InstructionDesc [enumCast (Op ::OpSatConvertSToU )].operands .push (OperandId ,"'Signed Value'" ); 2436 2437InstructionDesc [enumCast (Op ::OpSatConvertUToS )].operands .push (OperandId ,"'Unsigned Value'" ); 2438 2439InstructionDesc [enumCast (Op ::OpConvertPtrToU )].operands .push (OperandId ,"'Pointer'" ); 2440 2441InstructionDesc [enumCast (Op ::OpConvertUToPtr )].operands .push (OperandId ,"'Integer Value'" ); 2442 2443InstructionDesc [enumCast (Op ::OpPtrCastToGeneric )].operands .push (OperandId ,"'Pointer'" ); 2444 2445InstructionDesc [enumCast (Op ::OpGenericCastToPtr )].operands .push (OperandId ,"'Pointer'" ); 2446 2447InstructionDesc [enumCast (Op ::OpGenericCastToPtrExplicit )].operands .push (OperandId ,"'Pointer'" ); 2448InstructionDesc [enumCast (Op ::OpGenericCastToPtrExplicit )].operands .push (OperandStorage ,"'Storage'" ); 2449 2450InstructionDesc [enumCast (Op ::OpGenericPtrMemSemantics )].operands .push (OperandId ,"'Pointer'" ); 2451 2452InstructionDesc [enumCast (Op ::OpBitcast )].operands .push (OperandId ,"'Operand'" ); 2453 2454InstructionDesc [enumCast (Op ::OpQuantizeToF16 )].operands .push (OperandId ,"'Value'" ); 2455 2456InstructionDesc [enumCast (Op ::OpTranspose )].operands .push (OperandId ,"'Matrix'" ); 2457 2458InstructionDesc [enumCast (Op ::OpCopyLogical )].operands .push (OperandId ,"'Operand'" ); 2459 2460InstructionDesc [enumCast (Op ::OpIsNan )].operands .push (OperandId ,"'x'" ); 2461 2462InstructionDesc [enumCast (Op ::OpIsInf )].operands .push (OperandId ,"'x'" ); 2463 2464InstructionDesc [enumCast (Op ::OpIsFinite )].operands .push (OperandId ,"'x'" ); 2465 2466InstructionDesc [enumCast (Op ::OpIsNormal )].operands .push (OperandId ,"'x'" ); 2467 2468InstructionDesc [enumCast (Op ::OpSignBitSet )].operands .push (OperandId ,"'x'" ); 2469 2470InstructionDesc [enumCast (Op ::OpLessOrGreater )].operands .push (OperandId ,"'x'" ); 2471InstructionDesc [enumCast (Op ::OpLessOrGreater )].operands .push (OperandId ,"'y'" ); 2472 2473InstructionDesc [enumCast (Op ::OpOrdered )].operands .push (OperandId ,"'x'" ); 2474InstructionDesc [enumCast (Op ::OpOrdered )].operands .push (OperandId ,"'y'" ); 2475 2476InstructionDesc [enumCast (Op ::OpUnordered )].operands .push (OperandId ,"'x'" ); 2477InstructionDesc [enumCast (Op ::OpUnordered )].operands .push (OperandId ,"'y'" ); 2478 2479InstructionDesc [enumCast (Op ::OpArrayLength )].operands .push (OperandId ,"'Structure'" ); 2480InstructionDesc [enumCast (Op ::OpArrayLength )].operands .push (OperandLiteralNumber ,"'Array member'" ); 2481 2482InstructionDesc [enumCast (Op ::OpIAdd )].operands .push (OperandId ,"'Operand 1'" ); 2483InstructionDesc [enumCast (Op ::OpIAdd )].operands .push (OperandId ,"'Operand 2'" ); 2484 2485InstructionDesc [enumCast (Op ::OpFAdd )].operands .push (OperandId ,"'Operand 1'" ); 2486InstructionDesc [enumCast (Op ::OpFAdd )].operands .push (OperandId ,"'Operand 2'" ); 2487 2488InstructionDesc [enumCast (Op ::OpISub )].operands .push (OperandId ,"'Operand 1'" ); 2489InstructionDesc [enumCast (Op ::OpISub )].operands .push (OperandId ,"'Operand 2'" ); 2490 2491InstructionDesc [enumCast (Op ::OpFSub )].operands .push (OperandId ,"'Operand 1'" ); 2492InstructionDesc [enumCast (Op ::OpFSub )].operands .push (OperandId ,"'Operand 2'" ); 2493 2494InstructionDesc [enumCast (Op ::OpIMul )].operands .push (OperandId ,"'Operand 1'" ); 2495InstructionDesc [enumCast (Op ::OpIMul )].operands .push (OperandId ,"'Operand 2'" ); 2496 2497InstructionDesc [enumCast (Op ::OpFMul )].operands .push (OperandId ,"'Operand 1'" ); 2498InstructionDesc [enumCast (Op ::OpFMul )].operands .push (OperandId ,"'Operand 2'" ); 2499 2500InstructionDesc [enumCast (Op ::OpUDiv )].operands .push (OperandId ,"'Operand 1'" ); 2501InstructionDesc [enumCast (Op ::OpUDiv )].operands .push (OperandId ,"'Operand 2'" ); 2502 2503InstructionDesc [enumCast (Op ::OpSDiv )].operands .push (OperandId ,"'Operand 1'" ); 2504InstructionDesc [enumCast (Op ::OpSDiv )].operands .push (OperandId ,"'Operand 2'" ); 2505 2506InstructionDesc [enumCast (Op ::OpFDiv )].operands .push (OperandId ,"'Operand 1'" ); 2507InstructionDesc [enumCast (Op ::OpFDiv )].operands .push (OperandId ,"'Operand 2'" ); 2508 2509InstructionDesc [enumCast (Op ::OpUMod )].operands .push (OperandId ,"'Operand 1'" ); 2510InstructionDesc [enumCast (Op ::OpUMod )].operands .push (OperandId ,"'Operand 2'" ); 2511 2512InstructionDesc [enumCast (Op ::OpSRem )].operands .push (OperandId ,"'Operand 1'" ); 2513InstructionDesc [enumCast (Op ::OpSRem )].operands .push (OperandId ,"'Operand 2'" ); 2514 2515InstructionDesc [enumCast (Op ::OpSMod )].operands .push (OperandId ,"'Operand 1'" ); 2516InstructionDesc [enumCast (Op ::OpSMod )].operands .push (OperandId ,"'Operand 2'" ); 2517 2518InstructionDesc [enumCast (Op ::OpFRem )].operands .push (OperandId ,"'Operand 1'" ); 2519InstructionDesc [enumCast (Op ::OpFRem )].operands .push (OperandId ,"'Operand 2'" ); 2520 2521InstructionDesc [enumCast (Op ::OpFMod )].operands .push (OperandId ,"'Operand 1'" ); 2522InstructionDesc [enumCast (Op ::OpFMod )].operands .push (OperandId ,"'Operand 2'" ); 2523 2524InstructionDesc [enumCast (Op ::OpVectorTimesScalar )].operands .push (OperandId ,"'Vector'" ); 2525InstructionDesc [enumCast (Op ::OpVectorTimesScalar )].operands .push (OperandId ,"'Scalar'" ); 2526 2527InstructionDesc [enumCast (Op ::OpMatrixTimesScalar )].operands .push (OperandId ,"'Matrix'" ); 2528InstructionDesc [enumCast (Op ::OpMatrixTimesScalar )].operands .push (OperandId ,"'Scalar'" ); 2529 2530InstructionDesc [enumCast (Op ::OpVectorTimesMatrix )].operands .push (OperandId ,"'Vector'" ); 2531InstructionDesc [enumCast (Op ::OpVectorTimesMatrix )].operands .push (OperandId ,"'Matrix'" ); 2532 2533InstructionDesc [enumCast (Op ::OpMatrixTimesVector )].operands .push (OperandId ,"'Matrix'" ); 2534InstructionDesc [enumCast (Op ::OpMatrixTimesVector )].operands .push (OperandId ,"'Vector'" ); 2535 2536InstructionDesc [enumCast (Op ::OpMatrixTimesMatrix )].operands .push (OperandId ,"'LeftMatrix'" ); 2537InstructionDesc [enumCast (Op ::OpMatrixTimesMatrix )].operands .push (OperandId ,"'RightMatrix'" ); 2538 2539InstructionDesc [enumCast (Op ::OpOuterProduct )].operands .push (OperandId ,"'Vector 1'" ); 2540InstructionDesc [enumCast (Op ::OpOuterProduct )].operands .push (OperandId ,"'Vector 2'" ); 2541 2542InstructionDesc [enumCast (Op ::OpDot )].operands .push (OperandId ,"'Vector 1'" ); 2543InstructionDesc [enumCast (Op ::OpDot )].operands .push (OperandId ,"'Vector 2'" ); 2544 2545InstructionDesc [enumCast (Op ::OpIAddCarry )].operands .push (OperandId ,"'Operand 1'" ); 2546InstructionDesc [enumCast (Op ::OpIAddCarry )].operands .push (OperandId ,"'Operand 2'" ); 2547 2548InstructionDesc [enumCast (Op ::OpISubBorrow )].operands .push (OperandId ,"'Operand 1'" ); 2549InstructionDesc [enumCast (Op ::OpISubBorrow )].operands .push (OperandId ,"'Operand 2'" ); 2550 2551InstructionDesc [enumCast (Op ::OpUMulExtended )].operands .push (OperandId ,"'Operand 1'" ); 2552InstructionDesc [enumCast (Op ::OpUMulExtended )].operands .push (OperandId ,"'Operand 2'" ); 2553 2554InstructionDesc [enumCast (Op ::OpSMulExtended )].operands .push (OperandId ,"'Operand 1'" ); 2555InstructionDesc [enumCast (Op ::OpSMulExtended )].operands .push (OperandId ,"'Operand 2'" ); 2556 2557InstructionDesc [enumCast (Op ::OpShiftRightLogical )].operands .push (OperandId ,"'Base'" ); 2558InstructionDesc [enumCast (Op ::OpShiftRightLogical )].operands .push (OperandId ,"'Shift'" ); 2559 2560InstructionDesc [enumCast (Op ::OpShiftRightArithmetic )].operands .push (OperandId ,"'Base'" ); 2561InstructionDesc [enumCast (Op ::OpShiftRightArithmetic )].operands .push (OperandId ,"'Shift'" ); 2562 2563InstructionDesc [enumCast (Op ::OpShiftLeftLogical )].operands .push (OperandId ,"'Base'" ); 2564InstructionDesc [enumCast (Op ::OpShiftLeftLogical )].operands .push (OperandId ,"'Shift'" ); 2565 2566InstructionDesc [enumCast (Op ::OpLogicalOr )].operands .push (OperandId ,"'Operand 1'" ); 2567InstructionDesc [enumCast (Op ::OpLogicalOr )].operands .push (OperandId ,"'Operand 2'" ); 2568 2569InstructionDesc [enumCast (Op ::OpLogicalAnd )].operands .push (OperandId ,"'Operand 1'" ); 2570InstructionDesc [enumCast (Op ::OpLogicalAnd )].operands .push (OperandId ,"'Operand 2'" ); 2571 2572InstructionDesc [enumCast (Op ::OpLogicalEqual )].operands .push (OperandId ,"'Operand 1'" ); 2573InstructionDesc [enumCast (Op ::OpLogicalEqual )].operands .push (OperandId ,"'Operand 2'" ); 2574 2575InstructionDesc [enumCast (Op ::OpLogicalNotEqual )].operands .push (OperandId ,"'Operand 1'" ); 2576InstructionDesc [enumCast (Op ::OpLogicalNotEqual )].operands .push (OperandId ,"'Operand 2'" ); 2577 2578InstructionDesc [enumCast (Op ::OpLogicalNot )].operands .push (OperandId ,"'Operand'" ); 2579 2580InstructionDesc [enumCast (Op ::OpBitwiseOr )].operands .push (OperandId ,"'Operand 1'" ); 2581InstructionDesc [enumCast (Op ::OpBitwiseOr )].operands .push (OperandId ,"'Operand 2'" ); 2582 2583InstructionDesc [enumCast (Op ::OpBitwiseXor )].operands .push (OperandId ,"'Operand 1'" ); 2584InstructionDesc [enumCast (Op ::OpBitwiseXor )].operands .push (OperandId ,"'Operand 2'" ); 2585 2586InstructionDesc [enumCast (Op ::OpBitwiseAnd )].operands .push (OperandId ,"'Operand 1'" ); 2587InstructionDesc [enumCast (Op ::OpBitwiseAnd )].operands .push (OperandId ,"'Operand 2'" ); 2588 2589InstructionDesc [enumCast (Op ::OpBitFieldInsert )].operands .push (OperandId ,"'Base'" ); 2590InstructionDesc [enumCast (Op ::OpBitFieldInsert )].operands .push (OperandId ,"'Insert'" ); 2591InstructionDesc [enumCast (Op ::OpBitFieldInsert )].operands .push (OperandId ,"'Offset'" ); 2592InstructionDesc [enumCast (Op ::OpBitFieldInsert )].operands .push (OperandId ,"'Count'" ); 2593 2594InstructionDesc [enumCast (Op ::OpBitFieldSExtract )].operands .push (OperandId ,"'Base'" ); 2595InstructionDesc [enumCast (Op ::OpBitFieldSExtract )].operands .push (OperandId ,"'Offset'" ); 2596InstructionDesc [enumCast (Op ::OpBitFieldSExtract )].operands .push (OperandId ,"'Count'" ); 2597 2598InstructionDesc [enumCast (Op ::OpBitFieldUExtract )].operands .push (OperandId ,"'Base'" ); 2599InstructionDesc [enumCast (Op ::OpBitFieldUExtract )].operands .push (OperandId ,"'Offset'" ); 2600InstructionDesc [enumCast (Op ::OpBitFieldUExtract )].operands .push (OperandId ,"'Count'" ); 2601 2602InstructionDesc [enumCast (Op ::OpBitReverse )].operands .push (OperandId ,"'Base'" ); 2603 2604InstructionDesc [enumCast (Op ::OpBitCount )].operands .push (OperandId ,"'Base'" ); 2605 2606InstructionDesc [enumCast (Op ::OpSelect )].operands .push (OperandId ,"'Condition'" ); 2607InstructionDesc [enumCast (Op ::OpSelect )].operands .push (OperandId ,"'Object 1'" ); 2608InstructionDesc [enumCast (Op ::OpSelect )].operands .push (OperandId ,"'Object 2'" ); 2609 2610InstructionDesc [enumCast (Op ::OpIEqual )].operands .push (OperandId ,"'Operand 1'" ); 2611InstructionDesc [enumCast (Op ::OpIEqual )].operands .push (OperandId ,"'Operand 2'" ); 2612 2613InstructionDesc [enumCast (Op ::OpFOrdEqual )].operands .push (OperandId ,"'Operand 1'" ); 2614InstructionDesc [enumCast (Op ::OpFOrdEqual )].operands .push (OperandId ,"'Operand 2'" ); 2615 2616InstructionDesc [enumCast (Op ::OpFUnordEqual )].operands .push (OperandId ,"'Operand 1'" ); 2617InstructionDesc [enumCast (Op ::OpFUnordEqual )].operands .push (OperandId ,"'Operand 2'" ); 2618 2619InstructionDesc [enumCast (Op ::OpINotEqual )].operands .push (OperandId ,"'Operand 1'" ); 2620InstructionDesc [enumCast (Op ::OpINotEqual )].operands .push (OperandId ,"'Operand 2'" ); 2621 2622InstructionDesc [enumCast (Op ::OpFOrdNotEqual )].operands .push (OperandId ,"'Operand 1'" ); 2623InstructionDesc [enumCast (Op ::OpFOrdNotEqual )].operands .push (OperandId ,"'Operand 2'" ); 2624 2625InstructionDesc [enumCast (Op ::OpFUnordNotEqual )].operands .push (OperandId ,"'Operand 1'" ); 2626InstructionDesc [enumCast (Op ::OpFUnordNotEqual )].operands .push (OperandId ,"'Operand 2'" ); 2627 2628InstructionDesc [enumCast (Op ::OpULessThan )].operands .push (OperandId ,"'Operand 1'" ); 2629InstructionDesc [enumCast (Op ::OpULessThan )].operands .push (OperandId ,"'Operand 2'" ); 2630 2631InstructionDesc [enumCast (Op ::OpSLessThan )].operands .push (OperandId ,"'Operand 1'" ); 2632InstructionDesc [enumCast (Op ::OpSLessThan )].operands .push (OperandId ,"'Operand 2'" ); 2633 2634InstructionDesc [enumCast (Op ::OpFOrdLessThan )].operands .push (OperandId ,"'Operand 1'" ); 2635InstructionDesc [enumCast (Op ::OpFOrdLessThan )].operands .push (OperandId ,"'Operand 2'" ); 2636 2637InstructionDesc [enumCast (Op ::OpFUnordLessThan )].operands .push (OperandId ,"'Operand 1'" ); 2638InstructionDesc [enumCast (Op ::OpFUnordLessThan )].operands .push (OperandId ,"'Operand 2'" ); 2639 2640InstructionDesc [enumCast (Op ::OpUGreaterThan )].operands .push (OperandId ,"'Operand 1'" ); 2641InstructionDesc [enumCast (Op ::OpUGreaterThan )].operands .push (OperandId ,"'Operand 2'" ); 2642 2643InstructionDesc [enumCast (Op ::OpSGreaterThan )].operands .push (OperandId ,"'Operand 1'" ); 2644InstructionDesc [enumCast (Op ::OpSGreaterThan )].operands .push (OperandId ,"'Operand 2'" ); 2645 2646InstructionDesc [enumCast (Op ::OpFOrdGreaterThan )].operands .push (OperandId ,"'Operand 1'" ); 2647InstructionDesc [enumCast (Op ::OpFOrdGreaterThan )].operands .push (OperandId ,"'Operand 2'" ); 2648 2649InstructionDesc [enumCast (Op ::OpFUnordGreaterThan )].operands .push (OperandId ,"'Operand 1'" ); 2650InstructionDesc [enumCast (Op ::OpFUnordGreaterThan )].operands .push (OperandId ,"'Operand 2'" ); 2651 2652InstructionDesc [enumCast (Op ::OpULessThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2653InstructionDesc [enumCast (Op ::OpULessThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2654 2655InstructionDesc [enumCast (Op ::OpSLessThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2656InstructionDesc [enumCast (Op ::OpSLessThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2657 2658InstructionDesc [enumCast (Op ::OpFOrdLessThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2659InstructionDesc [enumCast (Op ::OpFOrdLessThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2660 2661InstructionDesc [enumCast (Op ::OpFUnordLessThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2662InstructionDesc [enumCast (Op ::OpFUnordLessThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2663 2664InstructionDesc [enumCast (Op ::OpUGreaterThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2665InstructionDesc [enumCast (Op ::OpUGreaterThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2666 2667InstructionDesc [enumCast (Op ::OpSGreaterThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2668InstructionDesc [enumCast (Op ::OpSGreaterThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2669 2670InstructionDesc [enumCast (Op ::OpFOrdGreaterThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2671InstructionDesc [enumCast (Op ::OpFOrdGreaterThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2672 2673InstructionDesc [enumCast (Op ::OpFUnordGreaterThanEqual )].operands .push (OperandId ,"'Operand 1'" ); 2674InstructionDesc [enumCast (Op ::OpFUnordGreaterThanEqual )].operands .push (OperandId ,"'Operand 2'" ); 2675 2676InstructionDesc [enumCast (Op ::OpDPdx )].operands .push (OperandId ,"'P'" ); 2677 2678InstructionDesc [enumCast (Op ::OpDPdy )].operands .push (OperandId ,"'P'" ); 2679 2680InstructionDesc [enumCast (Op ::OpFwidth )].operands .push (OperandId ,"'P'" ); 2681 2682InstructionDesc [enumCast (Op ::OpDPdxFine )].operands .push (OperandId ,"'P'" ); 2683 2684InstructionDesc [enumCast (Op ::OpDPdyFine )].operands .push (OperandId ,"'P'" ); 2685 2686InstructionDesc [enumCast (Op ::OpFwidthFine )].operands .push (OperandId ,"'P'" ); 2687 2688InstructionDesc [enumCast (Op ::OpDPdxCoarse )].operands .push (OperandId ,"'P'" ); 2689 2690InstructionDesc [enumCast (Op ::OpDPdyCoarse )].operands .push (OperandId ,"'P'" ); 2691 2692InstructionDesc [enumCast (Op ::OpFwidthCoarse )].operands .push (OperandId ,"'P'" ); 2693 2694InstructionDesc [enumCast (Op ::OpEmitStreamVertex )].operands .push (OperandId ,"'Stream'" ); 2695 2696InstructionDesc [enumCast (Op ::OpEndStreamPrimitive )].operands .push (OperandId ,"'Stream'" ); 2697 2698InstructionDesc [enumCast (Op ::OpControlBarrier )].operands .push (OperandScope ,"'Execution'" ); 2699InstructionDesc [enumCast (Op ::OpControlBarrier )].operands .push (OperandScope ,"'Memory'" ); 2700InstructionDesc [enumCast (Op ::OpControlBarrier )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2701 2702InstructionDesc [enumCast (Op ::OpMemoryBarrier )].operands .push (OperandScope ,"'Memory'" ); 2703InstructionDesc [enumCast (Op ::OpMemoryBarrier )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2704 2705InstructionDesc [enumCast (Op ::OpImageTexelPointer )].operands .push (OperandId ,"'Image'" ); 2706InstructionDesc [enumCast (Op ::OpImageTexelPointer )].operands .push (OperandId ,"'Coordinate'" ); 2707InstructionDesc [enumCast (Op ::OpImageTexelPointer )].operands .push (OperandId ,"'Sample'" ); 2708 2709InstructionDesc [enumCast (Op ::OpAtomicLoad )].operands .push (OperandId ,"'Pointer'" ); 2710InstructionDesc [enumCast (Op ::OpAtomicLoad )].operands .push (OperandScope ,"'Scope'" ); 2711InstructionDesc [enumCast (Op ::OpAtomicLoad )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2712 2713InstructionDesc [enumCast (Op ::OpAtomicStore )].operands .push (OperandId ,"'Pointer'" ); 2714InstructionDesc [enumCast (Op ::OpAtomicStore )].operands .push (OperandScope ,"'Scope'" ); 2715InstructionDesc [enumCast (Op ::OpAtomicStore )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2716InstructionDesc [enumCast (Op ::OpAtomicStore )].operands .push (OperandId ,"'Value'" ); 2717 2718InstructionDesc [enumCast (Op ::OpAtomicExchange )].operands .push (OperandId ,"'Pointer'" ); 2719InstructionDesc [enumCast (Op ::OpAtomicExchange )].operands .push (OperandScope ,"'Scope'" ); 2720InstructionDesc [enumCast (Op ::OpAtomicExchange )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2721InstructionDesc [enumCast (Op ::OpAtomicExchange )].operands .push (OperandId ,"'Value'" ); 2722 2723InstructionDesc [enumCast (Op ::OpAtomicCompareExchange )].operands .push (OperandId ,"'Pointer'" ); 2724InstructionDesc [enumCast (Op ::OpAtomicCompareExchange )].operands .push (OperandScope ,"'Scope'" ); 2725InstructionDesc [enumCast (Op ::OpAtomicCompareExchange )].operands .push (OperandMemorySemantics ,"'Equal'" ); 2726InstructionDesc [enumCast (Op ::OpAtomicCompareExchange )].operands .push (OperandMemorySemantics ,"'Unequal'" ); 2727InstructionDesc [enumCast (Op ::OpAtomicCompareExchange )].operands .push (OperandId ,"'Value'" ); 2728InstructionDesc [enumCast (Op ::OpAtomicCompareExchange )].operands .push (OperandId ,"'Comparator'" ); 2729 2730InstructionDesc [enumCast (Op ::OpAtomicCompareExchangeWeak )].operands .push (OperandId ,"'Pointer'" ); 2731InstructionDesc [enumCast (Op ::OpAtomicCompareExchangeWeak )].operands .push (OperandScope ,"'Scope'" ); 2732InstructionDesc [enumCast (Op ::OpAtomicCompareExchangeWeak )].operands .push (OperandMemorySemantics ,"'Equal'" ); 2733InstructionDesc [enumCast (Op ::OpAtomicCompareExchangeWeak )].operands .push (OperandMemorySemantics ,"'Unequal'" ); 2734InstructionDesc [enumCast (Op ::OpAtomicCompareExchangeWeak )].operands .push (OperandId ,"'Value'" ); 2735InstructionDesc [enumCast (Op ::OpAtomicCompareExchangeWeak )].operands .push (OperandId ,"'Comparator'" ); 2736 2737InstructionDesc [enumCast (Op ::OpAtomicIIncrement )].operands .push (OperandId ,"'Pointer'" ); 2738InstructionDesc [enumCast (Op ::OpAtomicIIncrement )].operands .push (OperandScope ,"'Scope'" ); 2739InstructionDesc [enumCast (Op ::OpAtomicIIncrement )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2740 2741InstructionDesc [enumCast (Op ::OpAtomicIDecrement )].operands .push (OperandId ,"'Pointer'" ); 2742InstructionDesc [enumCast (Op ::OpAtomicIDecrement )].operands .push (OperandScope ,"'Scope'" ); 2743InstructionDesc [enumCast (Op ::OpAtomicIDecrement )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2744 2745InstructionDesc [enumCast (Op ::OpAtomicIAdd )].operands .push (OperandId ,"'Pointer'" ); 2746InstructionDesc [enumCast (Op ::OpAtomicIAdd )].operands .push (OperandScope ,"'Scope'" ); 2747InstructionDesc [enumCast (Op ::OpAtomicIAdd )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2748InstructionDesc [enumCast (Op ::OpAtomicIAdd )].operands .push (OperandId ,"'Value'" ); 2749 2750InstructionDesc [enumCast (Op ::OpAtomicFAddEXT )].operands .push (OperandId ,"'Pointer'" ); 2751InstructionDesc [enumCast (Op ::OpAtomicFAddEXT )].operands .push (OperandScope ,"'Scope'" ); 2752InstructionDesc [enumCast (Op ::OpAtomicFAddEXT )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2753InstructionDesc [enumCast (Op ::OpAtomicFAddEXT )].operands .push (OperandId ,"'Value'" ); 2754 2755InstructionDesc [enumCast (Op ::OpAssumeTrueKHR )].operands .push (OperandId ,"'Condition'" ); 2756 2757InstructionDesc [enumCast (Op ::OpExpectKHR )].operands .push (OperandId ,"'Value'" ); 2758InstructionDesc [enumCast (Op ::OpExpectKHR )].operands .push (OperandId ,"'ExpectedValue'" ); 2759 2760InstructionDesc [enumCast (Op ::OpAtomicISub )].operands .push (OperandId ,"'Pointer'" ); 2761InstructionDesc [enumCast (Op ::OpAtomicISub )].operands .push (OperandScope ,"'Scope'" ); 2762InstructionDesc [enumCast (Op ::OpAtomicISub )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2763InstructionDesc [enumCast (Op ::OpAtomicISub )].operands .push (OperandId ,"'Value'" ); 2764 2765InstructionDesc [enumCast (Op ::OpAtomicUMin )].operands .push (OperandId ,"'Pointer'" ); 2766InstructionDesc [enumCast (Op ::OpAtomicUMin )].operands .push (OperandScope ,"'Scope'" ); 2767InstructionDesc [enumCast (Op ::OpAtomicUMin )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2768InstructionDesc [enumCast (Op ::OpAtomicUMin )].operands .push (OperandId ,"'Value'" ); 2769 2770InstructionDesc [enumCast (Op ::OpAtomicUMax )].operands .push (OperandId ,"'Pointer'" ); 2771InstructionDesc [enumCast (Op ::OpAtomicUMax )].operands .push (OperandScope ,"'Scope'" ); 2772InstructionDesc [enumCast (Op ::OpAtomicUMax )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2773InstructionDesc [enumCast (Op ::OpAtomicUMax )].operands .push (OperandId ,"'Value'" ); 2774 2775InstructionDesc [enumCast (Op ::OpAtomicSMin )].operands .push (OperandId ,"'Pointer'" ); 2776InstructionDesc [enumCast (Op ::OpAtomicSMin )].operands .push (OperandScope ,"'Scope'" ); 2777InstructionDesc [enumCast (Op ::OpAtomicSMin )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2778InstructionDesc [enumCast (Op ::OpAtomicSMin )].operands .push (OperandId ,"'Value'" ); 2779 2780InstructionDesc [enumCast (Op ::OpAtomicSMax )].operands .push (OperandId ,"'Pointer'" ); 2781InstructionDesc [enumCast (Op ::OpAtomicSMax )].operands .push (OperandScope ,"'Scope'" ); 2782InstructionDesc [enumCast (Op ::OpAtomicSMax )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2783InstructionDesc [enumCast (Op ::OpAtomicSMax )].operands .push (OperandId ,"'Value'" ); 2784 2785InstructionDesc [enumCast (Op ::OpAtomicFMinEXT )].operands .push (OperandId ,"'Pointer'" ); 2786InstructionDesc [enumCast (Op ::OpAtomicFMinEXT )].operands .push (OperandScope ,"'Scope'" ); 2787InstructionDesc [enumCast (Op ::OpAtomicFMinEXT )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2788InstructionDesc [enumCast (Op ::OpAtomicFMinEXT )].operands .push (OperandId ,"'Value'" ); 2789 2790InstructionDesc [enumCast (Op ::OpAtomicFMaxEXT )].operands .push (OperandId ,"'Pointer'" ); 2791InstructionDesc [enumCast (Op ::OpAtomicFMaxEXT )].operands .push (OperandScope ,"'Scope'" ); 2792InstructionDesc [enumCast (Op ::OpAtomicFMaxEXT )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2793InstructionDesc [enumCast (Op ::OpAtomicFMaxEXT )].operands .push (OperandId ,"'Value'" ); 2794 2795InstructionDesc [enumCast (Op ::OpAtomicAnd )].operands .push (OperandId ,"'Pointer'" ); 2796InstructionDesc [enumCast (Op ::OpAtomicAnd )].operands .push (OperandScope ,"'Scope'" ); 2797InstructionDesc [enumCast (Op ::OpAtomicAnd )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2798InstructionDesc [enumCast (Op ::OpAtomicAnd )].operands .push (OperandId ,"'Value'" ); 2799 2800InstructionDesc [enumCast (Op ::OpAtomicOr )].operands .push (OperandId ,"'Pointer'" ); 2801InstructionDesc [enumCast (Op ::OpAtomicOr )].operands .push (OperandScope ,"'Scope'" ); 2802InstructionDesc [enumCast (Op ::OpAtomicOr )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2803InstructionDesc [enumCast (Op ::OpAtomicOr )].operands .push (OperandId ,"'Value'" ); 2804 2805InstructionDesc [enumCast (Op ::OpAtomicXor )].operands .push (OperandId ,"'Pointer'" ); 2806InstructionDesc [enumCast (Op ::OpAtomicXor )].operands .push (OperandScope ,"'Scope'" ); 2807InstructionDesc [enumCast (Op ::OpAtomicXor )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2808InstructionDesc [enumCast (Op ::OpAtomicXor )].operands .push (OperandId ,"'Value'" ); 2809 2810InstructionDesc [enumCast (Op ::OpAtomicFlagTestAndSet )].operands .push (OperandId ,"'Pointer'" ); 2811InstructionDesc [enumCast (Op ::OpAtomicFlagTestAndSet )].operands .push (OperandScope ,"'Scope'" ); 2812InstructionDesc [enumCast (Op ::OpAtomicFlagTestAndSet )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2813 2814InstructionDesc [enumCast (Op ::OpAtomicFlagClear )].operands .push (OperandId ,"'Pointer'" ); 2815InstructionDesc [enumCast (Op ::OpAtomicFlagClear )].operands .push (OperandScope ,"'Scope'" ); 2816InstructionDesc [enumCast (Op ::OpAtomicFlagClear )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 2817 2818InstructionDesc [enumCast (Op ::OpLoopMerge )].operands .push (OperandId ,"'Merge Block'" ); 2819InstructionDesc [enumCast (Op ::OpLoopMerge )].operands .push (OperandId ,"'Continue Target'" ); 2820InstructionDesc [enumCast (Op ::OpLoopMerge )].operands .push (OperandLoop ,"" ); 2821InstructionDesc [enumCast (Op ::OpLoopMerge )].operands .push (OperandOptionalLiteral ,"" ); 2822 2823InstructionDesc [enumCast (Op ::OpSelectionMerge )].operands .push (OperandId ,"'Merge Block'" ); 2824InstructionDesc [enumCast (Op ::OpSelectionMerge )].operands .push (OperandSelect ,"" ); 2825 2826InstructionDesc [enumCast (Op ::OpBranch )].operands .push (OperandId ,"'Target Label'" ); 2827 2828InstructionDesc [enumCast (Op ::OpBranchConditional )].operands .push (OperandId ,"'Condition'" ); 2829InstructionDesc [enumCast (Op ::OpBranchConditional )].operands .push (OperandId ,"'True Label'" ); 2830InstructionDesc [enumCast (Op ::OpBranchConditional )].operands .push (OperandId ,"'False Label'" ); 2831InstructionDesc [enumCast (Op ::OpBranchConditional )].operands .push (OperandVariableLiterals ,"'Branch weights'" ); 2832 2833InstructionDesc [enumCast (Op ::OpSwitch )].operands .push (OperandId ,"'Selector'" ); 2834InstructionDesc [enumCast (Op ::OpSwitch )].operands .push (OperandId ,"'Default'" ); 2835InstructionDesc [enumCast (Op ::OpSwitch )].operands .push (OperandVariableLiteralId ,"'Target'" ); 2836 2837 2838InstructionDesc [enumCast (Op ::OpReturnValue )].operands .push (OperandId ,"'Value'" ); 2839 2840InstructionDesc [enumCast (Op ::OpLifetimeStart )].operands .push (OperandId ,"'Pointer'" ); 2841InstructionDesc [enumCast (Op ::OpLifetimeStart )].operands .push (OperandLiteralNumber ,"'Size'" ); 2842 2843InstructionDesc [enumCast (Op ::OpLifetimeStop )].operands .push (OperandId ,"'Pointer'" ); 2844InstructionDesc [enumCast (Op ::OpLifetimeStop )].operands .push (OperandLiteralNumber ,"'Size'" ); 2845 2846InstructionDesc [enumCast (Op ::OpGroupAsyncCopy )].operands .push (OperandScope ,"'Execution'" ); 2847InstructionDesc [enumCast (Op ::OpGroupAsyncCopy )].operands .push (OperandId ,"'Destination'" ); 2848InstructionDesc [enumCast (Op ::OpGroupAsyncCopy )].operands .push (OperandId ,"'Source'" ); 2849InstructionDesc [enumCast (Op ::OpGroupAsyncCopy )].operands .push (OperandId ,"'Num Elements'" ); 2850InstructionDesc [enumCast (Op ::OpGroupAsyncCopy )].operands .push (OperandId ,"'Stride'" ); 2851InstructionDesc [enumCast (Op ::OpGroupAsyncCopy )].operands .push (OperandId ,"'Event'" ); 2852 2853InstructionDesc [enumCast (Op ::OpGroupWaitEvents )].operands .push (OperandScope ,"'Execution'" ); 2854InstructionDesc [enumCast (Op ::OpGroupWaitEvents )].operands .push (OperandId ,"'Num Events'" ); 2855InstructionDesc [enumCast (Op ::OpGroupWaitEvents )].operands .push (OperandId ,"'Events List'" ); 2856 2857InstructionDesc [enumCast (Op ::OpGroupAll )].operands .push (OperandScope ,"'Execution'" ); 2858InstructionDesc [enumCast (Op ::OpGroupAll )].operands .push (OperandId ,"'Predicate'" ); 2859 2860InstructionDesc [enumCast (Op ::OpGroupAny )].operands .push (OperandScope ,"'Execution'" ); 2861InstructionDesc [enumCast (Op ::OpGroupAny )].operands .push (OperandId ,"'Predicate'" ); 2862 2863InstructionDesc [enumCast (Op ::OpGroupBroadcast )].operands .push (OperandScope ,"'Execution'" ); 2864InstructionDesc [enumCast (Op ::OpGroupBroadcast )].operands .push (OperandId ,"'Value'" ); 2865InstructionDesc [enumCast (Op ::OpGroupBroadcast )].operands .push (OperandId ,"'LocalId'" ); 2866 2867InstructionDesc [enumCast (Op ::OpGroupIAdd )].operands .push (OperandScope ,"'Execution'" ); 2868InstructionDesc [enumCast (Op ::OpGroupIAdd )].operands .push (OperandGroupOperation ,"'Operation'" ); 2869InstructionDesc [enumCast (Op ::OpGroupIAdd )].operands .push (OperandId ,"'X'" ); 2870 2871InstructionDesc [enumCast (Op ::OpGroupFAdd )].operands .push (OperandScope ,"'Execution'" ); 2872InstructionDesc [enumCast (Op ::OpGroupFAdd )].operands .push (OperandGroupOperation ,"'Operation'" ); 2873InstructionDesc [enumCast (Op ::OpGroupFAdd )].operands .push (OperandId ,"'X'" ); 2874 2875InstructionDesc [enumCast (Op ::OpGroupUMin )].operands .push (OperandScope ,"'Execution'" ); 2876InstructionDesc [enumCast (Op ::OpGroupUMin )].operands .push (OperandGroupOperation ,"'Operation'" ); 2877InstructionDesc [enumCast (Op ::OpGroupUMin )].operands .push (OperandId ,"'X'" ); 2878 2879InstructionDesc [enumCast (Op ::OpGroupSMin )].operands .push (OperandScope ,"'Execution'" ); 2880InstructionDesc [enumCast (Op ::OpGroupSMin )].operands .push (OperandGroupOperation ,"'Operation'" ); 2881InstructionDesc [enumCast (Op ::OpGroupSMin )].operands .push (OperandId ,"X" ); 2882 2883InstructionDesc [enumCast (Op ::OpGroupFMin )].operands .push (OperandScope ,"'Execution'" ); 2884InstructionDesc [enumCast (Op ::OpGroupFMin )].operands .push (OperandGroupOperation ,"'Operation'" ); 2885InstructionDesc [enumCast (Op ::OpGroupFMin )].operands .push (OperandId ,"X" ); 2886 2887InstructionDesc [enumCast (Op ::OpGroupUMax )].operands .push (OperandScope ,"'Execution'" ); 2888InstructionDesc [enumCast (Op ::OpGroupUMax )].operands .push (OperandGroupOperation ,"'Operation'" ); 2889InstructionDesc [enumCast (Op ::OpGroupUMax )].operands .push (OperandId ,"X" ); 2890 2891InstructionDesc [enumCast (Op ::OpGroupSMax )].operands .push (OperandScope ,"'Execution'" ); 2892InstructionDesc [enumCast (Op ::OpGroupSMax )].operands .push (OperandGroupOperation ,"'Operation'" ); 2893InstructionDesc [enumCast (Op ::OpGroupSMax )].operands .push (OperandId ,"X" ); 2894 2895InstructionDesc [enumCast (Op ::OpGroupFMax )].operands .push (OperandScope ,"'Execution'" ); 2896InstructionDesc [enumCast (Op ::OpGroupFMax )].operands .push (OperandGroupOperation ,"'Operation'" ); 2897InstructionDesc [enumCast (Op ::OpGroupFMax )].operands .push (OperandId ,"X" ); 2898 2899InstructionDesc [enumCast (Op ::OpReadPipe )].operands .push (OperandId ,"'Pipe'" ); 2900InstructionDesc [enumCast (Op ::OpReadPipe )].operands .push (OperandId ,"'Pointer'" ); 2901InstructionDesc [enumCast (Op ::OpReadPipe )].operands .push (OperandId ,"'Packet Size'" ); 2902InstructionDesc [enumCast (Op ::OpReadPipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2903 2904InstructionDesc [enumCast (Op ::OpWritePipe )].operands .push (OperandId ,"'Pipe'" ); 2905InstructionDesc [enumCast (Op ::OpWritePipe )].operands .push (OperandId ,"'Pointer'" ); 2906InstructionDesc [enumCast (Op ::OpWritePipe )].operands .push (OperandId ,"'Packet Size'" ); 2907InstructionDesc [enumCast (Op ::OpWritePipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2908 2909InstructionDesc [enumCast (Op ::OpReservedReadPipe )].operands .push (OperandId ,"'Pipe'" ); 2910InstructionDesc [enumCast (Op ::OpReservedReadPipe )].operands .push (OperandId ,"'Reserve Id'" ); 2911InstructionDesc [enumCast (Op ::OpReservedReadPipe )].operands .push (OperandId ,"'Index'" ); 2912InstructionDesc [enumCast (Op ::OpReservedReadPipe )].operands .push (OperandId ,"'Pointer'" ); 2913InstructionDesc [enumCast (Op ::OpReservedReadPipe )].operands .push (OperandId ,"'Packet Size'" ); 2914InstructionDesc [enumCast (Op ::OpReservedReadPipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2915 2916InstructionDesc [enumCast (Op ::OpReservedWritePipe )].operands .push (OperandId ,"'Pipe'" ); 2917InstructionDesc [enumCast (Op ::OpReservedWritePipe )].operands .push (OperandId ,"'Reserve Id'" ); 2918InstructionDesc [enumCast (Op ::OpReservedWritePipe )].operands .push (OperandId ,"'Index'" ); 2919InstructionDesc [enumCast (Op ::OpReservedWritePipe )].operands .push (OperandId ,"'Pointer'" ); 2920InstructionDesc [enumCast (Op ::OpReservedWritePipe )].operands .push (OperandId ,"'Packet Size'" ); 2921InstructionDesc [enumCast (Op ::OpReservedWritePipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2922 2923InstructionDesc [enumCast (Op ::OpReserveReadPipePackets )].operands .push (OperandId ,"'Pipe'" ); 2924InstructionDesc [enumCast (Op ::OpReserveReadPipePackets )].operands .push (OperandId ,"'Num Packets'" ); 2925InstructionDesc [enumCast (Op ::OpReserveReadPipePackets )].operands .push (OperandId ,"'Packet Size'" ); 2926InstructionDesc [enumCast (Op ::OpReserveReadPipePackets )].operands .push (OperandId ,"'Packet Alignment'" ); 2927 2928InstructionDesc [enumCast (Op ::OpReserveWritePipePackets )].operands .push (OperandId ,"'Pipe'" ); 2929InstructionDesc [enumCast (Op ::OpReserveWritePipePackets )].operands .push (OperandId ,"'Num Packets'" ); 2930InstructionDesc [enumCast (Op ::OpReserveWritePipePackets )].operands .push (OperandId ,"'Packet Size'" ); 2931InstructionDesc [enumCast (Op ::OpReserveWritePipePackets )].operands .push (OperandId ,"'Packet Alignment'" ); 2932 2933InstructionDesc [enumCast (Op ::OpCommitReadPipe )].operands .push (OperandId ,"'Pipe'" ); 2934InstructionDesc [enumCast (Op ::OpCommitReadPipe )].operands .push (OperandId ,"'Reserve Id'" ); 2935InstructionDesc [enumCast (Op ::OpCommitReadPipe )].operands .push (OperandId ,"'Packet Size'" ); 2936InstructionDesc [enumCast (Op ::OpCommitReadPipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2937 2938InstructionDesc [enumCast (Op ::OpCommitWritePipe )].operands .push (OperandId ,"'Pipe'" ); 2939InstructionDesc [enumCast (Op ::OpCommitWritePipe )].operands .push (OperandId ,"'Reserve Id'" ); 2940InstructionDesc [enumCast (Op ::OpCommitWritePipe )].operands .push (OperandId ,"'Packet Size'" ); 2941InstructionDesc [enumCast (Op ::OpCommitWritePipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2942 2943InstructionDesc [enumCast (Op ::OpIsValidReserveId )].operands .push (OperandId ,"'Reserve Id'" ); 2944 2945InstructionDesc [enumCast (Op ::OpGetNumPipePackets )].operands .push (OperandId ,"'Pipe'" ); 2946InstructionDesc [enumCast (Op ::OpGetNumPipePackets )].operands .push (OperandId ,"'Packet Size'" ); 2947InstructionDesc [enumCast (Op ::OpGetNumPipePackets )].operands .push (OperandId ,"'Packet Alignment'" ); 2948 2949InstructionDesc [enumCast (Op ::OpGetMaxPipePackets )].operands .push (OperandId ,"'Pipe'" ); 2950InstructionDesc [enumCast (Op ::OpGetMaxPipePackets )].operands .push (OperandId ,"'Packet Size'" ); 2951InstructionDesc [enumCast (Op ::OpGetMaxPipePackets )].operands .push (OperandId ,"'Packet Alignment'" ); 2952 2953InstructionDesc [enumCast (Op ::OpGroupReserveReadPipePackets )].operands .push (OperandScope ,"'Execution'" ); 2954InstructionDesc [enumCast (Op ::OpGroupReserveReadPipePackets )].operands .push (OperandId ,"'Pipe'" ); 2955InstructionDesc [enumCast (Op ::OpGroupReserveReadPipePackets )].operands .push (OperandId ,"'Num Packets'" ); 2956InstructionDesc [enumCast (Op ::OpGroupReserveReadPipePackets )].operands .push (OperandId ,"'Packet Size'" ); 2957InstructionDesc [enumCast (Op ::OpGroupReserveReadPipePackets )].operands .push (OperandId ,"'Packet Alignment'" ); 2958 2959InstructionDesc [enumCast (Op ::OpGroupReserveWritePipePackets )].operands .push (OperandScope ,"'Execution'" ); 2960InstructionDesc [enumCast (Op ::OpGroupReserveWritePipePackets )].operands .push (OperandId ,"'Pipe'" ); 2961InstructionDesc [enumCast (Op ::OpGroupReserveWritePipePackets )].operands .push (OperandId ,"'Num Packets'" ); 2962InstructionDesc [enumCast (Op ::OpGroupReserveWritePipePackets )].operands .push (OperandId ,"'Packet Size'" ); 2963InstructionDesc [enumCast (Op ::OpGroupReserveWritePipePackets )].operands .push (OperandId ,"'Packet Alignment'" ); 2964 2965InstructionDesc [enumCast (Op ::OpGroupCommitReadPipe )].operands .push (OperandScope ,"'Execution'" ); 2966InstructionDesc [enumCast (Op ::OpGroupCommitReadPipe )].operands .push (OperandId ,"'Pipe'" ); 2967InstructionDesc [enumCast (Op ::OpGroupCommitReadPipe )].operands .push (OperandId ,"'Reserve Id'" ); 2968InstructionDesc [enumCast (Op ::OpGroupCommitReadPipe )].operands .push (OperandId ,"'Packet Size'" ); 2969InstructionDesc [enumCast (Op ::OpGroupCommitReadPipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2970 2971InstructionDesc [enumCast (Op ::OpGroupCommitWritePipe )].operands .push (OperandScope ,"'Execution'" ); 2972InstructionDesc [enumCast (Op ::OpGroupCommitWritePipe )].operands .push (OperandId ,"'Pipe'" ); 2973InstructionDesc [enumCast (Op ::OpGroupCommitWritePipe )].operands .push (OperandId ,"'Reserve Id'" ); 2974InstructionDesc [enumCast (Op ::OpGroupCommitWritePipe )].operands .push (OperandId ,"'Packet Size'" ); 2975InstructionDesc [enumCast (Op ::OpGroupCommitWritePipe )].operands .push (OperandId ,"'Packet Alignment'" ); 2976 2977InstructionDesc [enumCast (Op ::OpBuildNDRange )].operands .push (OperandId ,"'GlobalWorkSize'" ); 2978InstructionDesc [enumCast (Op ::OpBuildNDRange )].operands .push (OperandId ,"'LocalWorkSize'" ); 2979InstructionDesc [enumCast (Op ::OpBuildNDRange )].operands .push (OperandId ,"'GlobalWorkOffset'" ); 2980 2981InstructionDesc [enumCast (Op ::OpCaptureEventProfilingInfo )].operands .push (OperandId ,"'Event'" ); 2982InstructionDesc [enumCast (Op ::OpCaptureEventProfilingInfo )].operands .push (OperandId ,"'Profiling Info'" ); 2983InstructionDesc [enumCast (Op ::OpCaptureEventProfilingInfo )].operands .push (OperandId ,"'Value'" ); 2984 2985InstructionDesc [enumCast (Op ::OpSetUserEventStatus )].operands .push (OperandId ,"'Event'" ); 2986InstructionDesc [enumCast (Op ::OpSetUserEventStatus )].operands .push (OperandId ,"'Status'" ); 2987 2988InstructionDesc [enumCast (Op ::OpIsValidEvent )].operands .push (OperandId ,"'Event'" ); 2989 2990InstructionDesc [enumCast (Op ::OpRetainEvent )].operands .push (OperandId ,"'Event'" ); 2991 2992InstructionDesc [enumCast (Op ::OpReleaseEvent )].operands .push (OperandId ,"'Event'" ); 2993 2994InstructionDesc [enumCast (Op ::OpGetKernelWorkGroupSize )].operands .push (OperandId ,"'Invoke'" ); 2995InstructionDesc [enumCast (Op ::OpGetKernelWorkGroupSize )].operands .push (OperandId ,"'Param'" ); 2996InstructionDesc [enumCast (Op ::OpGetKernelWorkGroupSize )].operands .push (OperandId ,"'Param Size'" ); 2997InstructionDesc [enumCast (Op ::OpGetKernelWorkGroupSize )].operands .push (OperandId ,"'Param Align'" ); 2998 2999InstructionDesc [enumCast (Op ::OpGetKernelPreferredWorkGroupSizeMultiple )].operands .push (OperandId ,"'Invoke'" ); 3000InstructionDesc [enumCast (Op ::OpGetKernelPreferredWorkGroupSizeMultiple )].operands .push (OperandId ,"'Param'" ); 3001InstructionDesc [enumCast (Op ::OpGetKernelPreferredWorkGroupSizeMultiple )].operands .push (OperandId ,"'Param Size'" ); 3002InstructionDesc [enumCast (Op ::OpGetKernelPreferredWorkGroupSizeMultiple )].operands .push (OperandId ,"'Param Align'" ); 3003 3004InstructionDesc [enumCast (Op ::OpGetKernelNDrangeSubGroupCount )].operands .push (OperandId ,"'ND Range'" ); 3005InstructionDesc [enumCast (Op ::OpGetKernelNDrangeSubGroupCount )].operands .push (OperandId ,"'Invoke'" ); 3006InstructionDesc [enumCast (Op ::OpGetKernelNDrangeSubGroupCount )].operands .push (OperandId ,"'Param'" ); 3007InstructionDesc [enumCast (Op ::OpGetKernelNDrangeSubGroupCount )].operands .push (OperandId ,"'Param Size'" ); 3008InstructionDesc [enumCast (Op ::OpGetKernelNDrangeSubGroupCount )].operands .push (OperandId ,"'Param Align'" ); 3009 3010InstructionDesc [enumCast (Op ::OpGetKernelNDrangeMaxSubGroupSize )].operands .push (OperandId ,"'ND Range'" ); 3011InstructionDesc [enumCast (Op ::OpGetKernelNDrangeMaxSubGroupSize )].operands .push (OperandId ,"'Invoke'" ); 3012InstructionDesc [enumCast (Op ::OpGetKernelNDrangeMaxSubGroupSize )].operands .push (OperandId ,"'Param'" ); 3013InstructionDesc [enumCast (Op ::OpGetKernelNDrangeMaxSubGroupSize )].operands .push (OperandId ,"'Param Size'" ); 3014InstructionDesc [enumCast (Op ::OpGetKernelNDrangeMaxSubGroupSize )].operands .push (OperandId ,"'Param Align'" ); 3015 3016InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Queue'" ); 3017InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Flags'" ); 3018InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'ND Range'" ); 3019InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Num Events'" ); 3020InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Wait Events'" ); 3021InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Ret Event'" ); 3022InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Invoke'" ); 3023InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Param'" ); 3024InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Param Size'" ); 3025InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandId ,"'Param Align'" ); 3026InstructionDesc [enumCast (Op ::OpEnqueueKernel )].operands .push (OperandVariableIds ,"'Local Size'" ); 3027 3028InstructionDesc [enumCast (Op ::OpEnqueueMarker )].operands .push (OperandId ,"'Queue'" ); 3029InstructionDesc [enumCast (Op ::OpEnqueueMarker )].operands .push (OperandId ,"'Num Events'" ); 3030InstructionDesc [enumCast (Op ::OpEnqueueMarker )].operands .push (OperandId ,"'Wait Events'" ); 3031InstructionDesc [enumCast (Op ::OpEnqueueMarker )].operands .push (OperandId ,"'Ret Event'" ); 3032 3033InstructionDesc [enumCast (Op ::OpGroupNonUniformElect )].operands .push (OperandScope ,"'Execution'" ); 3034 3035InstructionDesc [enumCast (Op ::OpGroupNonUniformAll )].operands .push (OperandScope ,"'Execution'" ); 3036InstructionDesc [enumCast (Op ::OpGroupNonUniformAll )].operands .push (OperandId ,"X" ); 3037 3038InstructionDesc [enumCast (Op ::OpGroupNonUniformAny )].operands .push (OperandScope ,"'Execution'" ); 3039InstructionDesc [enumCast (Op ::OpGroupNonUniformAny )].operands .push (OperandId ,"X" ); 3040 3041InstructionDesc [enumCast (Op ::OpGroupNonUniformAllEqual )].operands .push (OperandScope ,"'Execution'" ); 3042InstructionDesc [enumCast (Op ::OpGroupNonUniformAllEqual )].operands .push (OperandId ,"X" ); 3043 3044InstructionDesc [enumCast (Op ::OpGroupNonUniformBroadcast )].operands .push (OperandScope ,"'Execution'" ); 3045InstructionDesc [enumCast (Op ::OpGroupNonUniformBroadcast )].operands .push (OperandId ,"X" ); 3046InstructionDesc [enumCast (Op ::OpGroupNonUniformBroadcast )].operands .push (OperandId ,"ID" ); 3047 3048InstructionDesc [enumCast (Op ::OpGroupNonUniformBroadcastFirst )].operands .push (OperandScope ,"'Execution'" ); 3049InstructionDesc [enumCast (Op ::OpGroupNonUniformBroadcastFirst )].operands .push (OperandId ,"X" ); 3050 3051InstructionDesc [enumCast (Op ::OpGroupNonUniformBallot )].operands .push (OperandScope ,"'Execution'" ); 3052InstructionDesc [enumCast (Op ::OpGroupNonUniformBallot )].operands .push (OperandId ,"X" ); 3053 3054InstructionDesc [enumCast (Op ::OpGroupNonUniformInverseBallot )].operands .push (OperandScope ,"'Execution'" ); 3055InstructionDesc [enumCast (Op ::OpGroupNonUniformInverseBallot )].operands .push (OperandId ,"X" ); 3056 3057InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotBitExtract )].operands .push (OperandScope ,"'Execution'" ); 3058InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotBitExtract )].operands .push (OperandId ,"X" ); 3059InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotBitExtract )].operands .push (OperandId ,"Bit" ); 3060 3061InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotBitCount )].operands .push (OperandScope ,"'Execution'" ); 3062InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotBitCount )].operands .push (OperandGroupOperation ,"'Operation'" ); 3063InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotBitCount )].operands .push (OperandId ,"X" ); 3064 3065InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotFindLSB )].operands .push (OperandScope ,"'Execution'" ); 3066InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotFindLSB )].operands .push (OperandId ,"X" ); 3067 3068InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotFindMSB )].operands .push (OperandScope ,"'Execution'" ); 3069InstructionDesc [enumCast (Op ::OpGroupNonUniformBallotFindMSB )].operands .push (OperandId ,"X" ); 3070 3071InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffle )].operands .push (OperandScope ,"'Execution'" ); 3072InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffle )].operands .push (OperandId ,"X" ); 3073InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffle )].operands .push (OperandId ,"'Id'" ); 3074 3075InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleXor )].operands .push (OperandScope ,"'Execution'" ); 3076InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleXor )].operands .push (OperandId ,"X" ); 3077InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleXor )].operands .push (OperandId ,"Mask" ); 3078 3079InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleUp )].operands .push (OperandScope ,"'Execution'" ); 3080InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleUp )].operands .push (OperandId ,"X" ); 3081InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleUp )].operands .push (OperandId ,"Offset" ); 3082 3083InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleDown )].operands .push (OperandScope ,"'Execution'" ); 3084InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleDown )].operands .push (OperandId ,"X" ); 3085InstructionDesc [enumCast (Op ::OpGroupNonUniformShuffleDown )].operands .push (OperandId ,"Offset" ); 3086 3087InstructionDesc [enumCast (Op ::OpGroupNonUniformIAdd )].operands .push (OperandScope ,"'Execution'" ); 3088InstructionDesc [enumCast (Op ::OpGroupNonUniformIAdd )].operands .push (OperandGroupOperation ,"'Operation'" ); 3089InstructionDesc [enumCast (Op ::OpGroupNonUniformIAdd )].operands .push (OperandId ,"X" ); 3090InstructionDesc [enumCast (Op ::OpGroupNonUniformIAdd )].operands .push (OperandId ,"'ClusterSize'" , true); 3091 3092InstructionDesc [enumCast (Op ::OpGroupNonUniformFAdd )].operands .push (OperandScope ,"'Execution'" ); 3093InstructionDesc [enumCast (Op ::OpGroupNonUniformFAdd )].operands .push (OperandGroupOperation ,"'Operation'" ); 3094InstructionDesc [enumCast (Op ::OpGroupNonUniformFAdd )].operands .push (OperandId ,"X" ); 3095InstructionDesc [enumCast (Op ::OpGroupNonUniformFAdd )].operands .push (OperandId ,"'ClusterSize'" , true); 3096 3097InstructionDesc [enumCast (Op ::OpGroupNonUniformIMul )].operands .push (OperandScope ,"'Execution'" ); 3098InstructionDesc [enumCast (Op ::OpGroupNonUniformIMul )].operands .push (OperandGroupOperation ,"'Operation'" ); 3099InstructionDesc [enumCast (Op ::OpGroupNonUniformIMul )].operands .push (OperandId ,"X" ); 3100InstructionDesc [enumCast (Op ::OpGroupNonUniformIMul )].operands .push (OperandId ,"'ClusterSize'" , true); 3101 3102InstructionDesc [enumCast (Op ::OpGroupNonUniformFMul )].operands .push (OperandScope ,"'Execution'" ); 3103InstructionDesc [enumCast (Op ::OpGroupNonUniformFMul )].operands .push (OperandGroupOperation ,"'Operation'" ); 3104InstructionDesc [enumCast (Op ::OpGroupNonUniformFMul )].operands .push (OperandId ,"X" ); 3105InstructionDesc [enumCast (Op ::OpGroupNonUniformFMul )].operands .push (OperandId ,"'ClusterSize'" , true); 3106 3107InstructionDesc [enumCast (Op ::OpGroupNonUniformSMin )].operands .push (OperandScope ,"'Execution'" ); 3108InstructionDesc [enumCast (Op ::OpGroupNonUniformSMin )].operands .push (OperandGroupOperation ,"'Operation'" ); 3109InstructionDesc [enumCast (Op ::OpGroupNonUniformSMin )].operands .push (OperandId ,"X" ); 3110InstructionDesc [enumCast (Op ::OpGroupNonUniformSMin )].operands .push (OperandId ,"'ClusterSize'" , true); 3111 3112InstructionDesc [enumCast (Op ::OpGroupNonUniformUMin )].operands .push (OperandScope ,"'Execution'" ); 3113InstructionDesc [enumCast (Op ::OpGroupNonUniformUMin )].operands .push (OperandGroupOperation ,"'Operation'" ); 3114InstructionDesc [enumCast (Op ::OpGroupNonUniformUMin )].operands .push (OperandId ,"X" ); 3115InstructionDesc [enumCast (Op ::OpGroupNonUniformUMin )].operands .push (OperandId ,"'ClusterSize'" , true); 3116 3117InstructionDesc [enumCast (Op ::OpGroupNonUniformFMin )].operands .push (OperandScope ,"'Execution'" ); 3118InstructionDesc [enumCast (Op ::OpGroupNonUniformFMin )].operands .push (OperandGroupOperation ,"'Operation'" ); 3119InstructionDesc [enumCast (Op ::OpGroupNonUniformFMin )].operands .push (OperandId ,"X" ); 3120InstructionDesc [enumCast (Op ::OpGroupNonUniformFMin )].operands .push (OperandId ,"'ClusterSize'" , true); 3121 3122InstructionDesc [enumCast (Op ::OpGroupNonUniformSMax )].operands .push (OperandScope ,"'Execution'" ); 3123InstructionDesc [enumCast (Op ::OpGroupNonUniformSMax )].operands .push (OperandGroupOperation ,"'Operation'" ); 3124InstructionDesc [enumCast (Op ::OpGroupNonUniformSMax )].operands .push (OperandId ,"X" ); 3125InstructionDesc [enumCast (Op ::OpGroupNonUniformSMax )].operands .push (OperandId ,"'ClusterSize'" , true); 3126 3127InstructionDesc [enumCast (Op ::OpGroupNonUniformUMax )].operands .push (OperandScope ,"'Execution'" ); 3128InstructionDesc [enumCast (Op ::OpGroupNonUniformUMax )].operands .push (OperandGroupOperation ,"'Operation'" ); 3129InstructionDesc [enumCast (Op ::OpGroupNonUniformUMax )].operands .push (OperandId ,"X" ); 3130InstructionDesc [enumCast (Op ::OpGroupNonUniformUMax )].operands .push (OperandId ,"'ClusterSize'" , true); 3131 3132InstructionDesc [enumCast (Op ::OpGroupNonUniformFMax )].operands .push (OperandScope ,"'Execution'" ); 3133InstructionDesc [enumCast (Op ::OpGroupNonUniformFMax )].operands .push (OperandGroupOperation ,"'Operation'" ); 3134InstructionDesc [enumCast (Op ::OpGroupNonUniformFMax )].operands .push (OperandId ,"X" ); 3135InstructionDesc [enumCast (Op ::OpGroupNonUniformFMax )].operands .push (OperandId ,"'ClusterSize'" , true); 3136 3137InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseAnd )].operands .push (OperandScope ,"'Execution'" ); 3138InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseAnd )].operands .push (OperandGroupOperation ,"'Operation'" ); 3139InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseAnd )].operands .push (OperandId ,"X" ); 3140InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseAnd )].operands .push (OperandId ,"'ClusterSize'" , true); 3141 3142InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseOr )].operands .push (OperandScope ,"'Execution'" ); 3143InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseOr )].operands .push (OperandGroupOperation ,"'Operation'" ); 3144InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseOr )].operands .push (OperandId ,"X" ); 3145InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseOr )].operands .push (OperandId ,"'ClusterSize'" , true); 3146 3147InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseXor )].operands .push (OperandScope ,"'Execution'" ); 3148InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseXor )].operands .push (OperandGroupOperation ,"'Operation'" ); 3149InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseXor )].operands .push (OperandId ,"X" ); 3150InstructionDesc [enumCast (Op ::OpGroupNonUniformBitwiseXor )].operands .push (OperandId ,"'ClusterSize'" , true); 3151 3152InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalAnd )].operands .push (OperandScope ,"'Execution'" ); 3153InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalAnd )].operands .push (OperandGroupOperation ,"'Operation'" ); 3154InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalAnd )].operands .push (OperandId ,"X" ); 3155InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalAnd )].operands .push (OperandId ,"'ClusterSize'" , true); 3156 3157InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalOr )].operands .push (OperandScope ,"'Execution'" ); 3158InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalOr )].operands .push (OperandGroupOperation ,"'Operation'" ); 3159InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalOr )].operands .push (OperandId ,"X" ); 3160InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalOr )].operands .push (OperandId ,"'ClusterSize'" , true); 3161 3162InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalXor )].operands .push (OperandScope ,"'Execution'" ); 3163InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalXor )].operands .push (OperandGroupOperation ,"'Operation'" ); 3164InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalXor )].operands .push (OperandId ,"X" ); 3165InstructionDesc [enumCast (Op ::OpGroupNonUniformLogicalXor )].operands .push (OperandId ,"'ClusterSize'" , true); 3166 3167InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadBroadcast )].operands .push (OperandScope ,"'Execution'" ); 3168InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadBroadcast )].operands .push (OperandId ,"X" ); 3169InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadBroadcast )].operands .push (OperandId ,"'Id'" ); 3170 3171InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadSwap )].operands .push (OperandScope ,"'Execution'" ); 3172InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadSwap )].operands .push (OperandId ,"X" ); 3173InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadSwap )].operands .push (OperandId ,"'Direction'" ); 3174 3175InstructionDesc [enumCast (Op ::OpSubgroupBallotKHR )].operands .push (OperandId ,"'Predicate'" ); 3176 3177InstructionDesc [enumCast (Op ::OpSubgroupFirstInvocationKHR )].operands .push (OperandId ,"'Value'" ); 3178 3179InstructionDesc [enumCast (Op ::OpSubgroupAnyKHR )].operands .push (OperandScope ,"'Execution'" ); 3180InstructionDesc [enumCast (Op ::OpSubgroupAnyKHR )].operands .push (OperandId ,"'Predicate'" ); 3181 3182InstructionDesc [enumCast (Op ::OpSubgroupAllKHR )].operands .push (OperandScope ,"'Execution'" ); 3183InstructionDesc [enumCast (Op ::OpSubgroupAllKHR )].operands .push (OperandId ,"'Predicate'" ); 3184 3185InstructionDesc [enumCast (Op ::OpSubgroupAllEqualKHR )].operands .push (OperandScope ,"'Execution'" ); 3186InstructionDesc [enumCast (Op ::OpSubgroupAllEqualKHR )].operands .push (OperandId ,"'Predicate'" ); 3187 3188InstructionDesc [enumCast (Op ::OpGroupNonUniformRotateKHR )].operands .push (OperandScope ,"'Execution'" ); 3189InstructionDesc [enumCast (Op ::OpGroupNonUniformRotateKHR )].operands .push (OperandId ,"'X'" ); 3190InstructionDesc [enumCast (Op ::OpGroupNonUniformRotateKHR )].operands .push (OperandId ,"'Delta'" ); 3191InstructionDesc [enumCast (Op ::OpGroupNonUniformRotateKHR )].operands .push (OperandId ,"'ClusterSize'" , true); 3192 3193InstructionDesc [enumCast (Op ::OpSubgroupReadInvocationKHR )].operands .push (OperandId ,"'Value'" ); 3194InstructionDesc [enumCast (Op ::OpSubgroupReadInvocationKHR )].operands .push (OperandId ,"'Index'" ); 3195 3196InstructionDesc [enumCast (Op ::OpModuleProcessed )].operands .push (OperandLiteralString ,"'process'" ); 3197 3198InstructionDesc [enumCast (Op ::OpGroupIAddNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3199InstructionDesc [enumCast (Op ::OpGroupIAddNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3200InstructionDesc [enumCast (Op ::OpGroupIAddNonUniformAMD )].operands .push (OperandId ,"'X'" ); 3201 3202InstructionDesc [enumCast (Op ::OpGroupFAddNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3203InstructionDesc [enumCast (Op ::OpGroupFAddNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3204InstructionDesc [enumCast (Op ::OpGroupFAddNonUniformAMD )].operands .push (OperandId ,"'X'" ); 3205 3206InstructionDesc [enumCast (Op ::OpGroupUMinNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3207InstructionDesc [enumCast (Op ::OpGroupUMinNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3208InstructionDesc [enumCast (Op ::OpGroupUMinNonUniformAMD )].operands .push (OperandId ,"'X'" ); 3209 3210InstructionDesc [enumCast (Op ::OpGroupSMinNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3211InstructionDesc [enumCast (Op ::OpGroupSMinNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3212InstructionDesc [enumCast (Op ::OpGroupSMinNonUniformAMD )].operands .push (OperandId ,"X" ); 3213 3214InstructionDesc [enumCast (Op ::OpGroupFMinNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3215InstructionDesc [enumCast (Op ::OpGroupFMinNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3216InstructionDesc [enumCast (Op ::OpGroupFMinNonUniformAMD )].operands .push (OperandId ,"X" ); 3217 3218InstructionDesc [enumCast (Op ::OpGroupUMaxNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3219InstructionDesc [enumCast (Op ::OpGroupUMaxNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3220InstructionDesc [enumCast (Op ::OpGroupUMaxNonUniformAMD )].operands .push (OperandId ,"X" ); 3221 3222InstructionDesc [enumCast (Op ::OpGroupSMaxNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3223InstructionDesc [enumCast (Op ::OpGroupSMaxNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3224InstructionDesc [enumCast (Op ::OpGroupSMaxNonUniformAMD )].operands .push (OperandId ,"X" ); 3225 3226InstructionDesc [enumCast (Op ::OpGroupFMaxNonUniformAMD )].operands .push (OperandScope ,"'Execution'" ); 3227InstructionDesc [enumCast (Op ::OpGroupFMaxNonUniformAMD )].operands .push (OperandGroupOperation ,"'Operation'" ); 3228InstructionDesc [enumCast (Op ::OpGroupFMaxNonUniformAMD )].operands .push (OperandId ,"X" ); 3229 3230InstructionDesc [enumCast (Op ::OpFragmentMaskFetchAMD )].operands .push (OperandId ,"'Image'" ); 3231InstructionDesc [enumCast (Op ::OpFragmentMaskFetchAMD )].operands .push (OperandId ,"'Coordinate'" ); 3232 3233InstructionDesc [enumCast (Op ::OpFragmentFetchAMD )].operands .push (OperandId ,"'Image'" ); 3234InstructionDesc [enumCast (Op ::OpFragmentFetchAMD )].operands .push (OperandId ,"'Coordinate'" ); 3235InstructionDesc [enumCast (Op ::OpFragmentFetchAMD )].operands .push (OperandId ,"'Fragment Index'" ); 3236 3237 3238InstructionDesc [enumCast (Op ::OpTypeBufferEXT )].operands .push (OperandStorage ,"" ); 3239InstructionDesc [enumCast (Op ::OpTypeBufferEXT )].setResultAndType (true, false); 3240 3241InstructionDesc [enumCast (Op ::OpConstantSizeOfEXT )].operands .push (OperandId ,"'Type'" ); 3242 3243InstructionDesc [enumCast (Op ::OpBufferPointerEXT )].operands .push (OperandId ,"'Buffer'" ); 3244 3245InstructionDesc [enumCast (Op ::OpUntypedImageTexelPointerEXT )].operands .push (OperandId ,"'ImageType'" ); 3246InstructionDesc [enumCast (Op ::OpUntypedImageTexelPointerEXT )].operands .push (OperandId ,"'Image'" ); 3247InstructionDesc [enumCast (Op ::OpUntypedImageTexelPointerEXT )].operands .push (OperandId ,"'Coordinate'" ); 3248InstructionDesc [enumCast (Op ::OpUntypedImageTexelPointerEXT )].operands .push (OperandId ,"'Sample'" ); 3249 3250InstructionDesc [enumCast (Op ::OpGroupNonUniformPartitionNV )].operands .push (OperandId ,"X" ); 3251 3252InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadAllKHR )].operands .push (OperandId ,"'Predicate'" ); 3253InstructionDesc [enumCast (Op ::OpGroupNonUniformQuadAnyKHR )].operands .push (OperandId ,"'Predicate'" ); 3254InstructionDesc [enumCast (Op ::OpTypeAccelerationStructureKHR )].setResultAndType (true, false); 3255 3256InstructionDesc [enumCast (Op ::OpConstantDataKHR )].operands .push (OperandLiteralString ,"'Data'" ); 3257InstructionDesc [enumCast (Op ::OpSpecConstantDataKHR )].operands .push (OperandLiteralString ,"'Data'" ); 3258InstructionDesc [enumCast (Op ::OpAbortKHR )].operands .push (OperandId ,"'Message Type'" ); 3259InstructionDesc [enumCast (Op ::OpAbortKHR )].operands .push (OperandId ,"'Message'" ); 3260InstructionDesc [enumCast (Op ::OpAbortKHR )].setResultAndType (false, false); 3261 3262InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3263InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'Ray Flags'" ); 3264InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'Cull Mask'" ); 3265InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'SBT Record Offset'" ); 3266InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'SBT Record Stride'" ); 3267InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'Miss Index'" ); 3268InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'Ray Origin'" ); 3269InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'TMin'" ); 3270InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'Ray Direction'" ); 3271InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'TMax'" ); 3272InstructionDesc [enumCast (Op ::OpTraceNV )].operands .push (OperandId ,"'Payload'" ); 3273InstructionDesc [enumCast (Op ::OpTraceNV )].setResultAndType (false, false); 3274 3275InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3276InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Ray Flags'" ); 3277InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Cull Mask'" ); 3278InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'SBT Record Offset'" ); 3279InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'SBT Record Stride'" ); 3280InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Miss Index'" ); 3281InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Ray Origin'" ); 3282InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'TMin'" ); 3283InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Ray Direction'" ); 3284InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'TMax'" ); 3285InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Time'" ); 3286InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].operands .push (OperandId ,"'Payload'" ); 3287InstructionDesc [enumCast (Op ::OpTraceRayMotionNV )].setResultAndType (false, false); 3288 3289InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'Acceleration Structure'" ); 3290InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'Ray Flags'" ); 3291InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'Cull Mask'" ); 3292InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'SBT Record Offset'" ); 3293InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'SBT Record Stride'" ); 3294InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'Miss Index'" ); 3295InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'Ray Origin'" ); 3296InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'TMin'" ); 3297InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'Ray Direction'" ); 3298InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'TMax'" ); 3299InstructionDesc [enumCast (Op ::OpTraceRayKHR )].operands .push (OperandId ,"'Payload'" ); 3300InstructionDesc [enumCast (Op ::OpTraceRayKHR )].setResultAndType (false, false); 3301 3302InstructionDesc [enumCast (Op ::OpReportIntersectionKHR )].operands .push (OperandId ,"'Hit Parameter'" ); 3303InstructionDesc [enumCast (Op ::OpReportIntersectionKHR )].operands .push (OperandId ,"'Hit Kind'" ); 3304 3305InstructionDesc [enumCast (Op ::OpIgnoreIntersectionNV )].setResultAndType (false, false); 3306 3307InstructionDesc [enumCast (Op ::OpIgnoreIntersectionKHR )].setResultAndType (false, false); 3308 3309InstructionDesc [enumCast (Op ::OpTerminateRayNV )].setResultAndType (false, false); 3310 3311InstructionDesc [enumCast (Op ::OpTerminateRayKHR )].setResultAndType (false, false); 3312 3313InstructionDesc [enumCast (Op ::OpExecuteCallableNV )].operands .push (OperandId ,"SBT Record Index" ); 3314InstructionDesc [enumCast (Op ::OpExecuteCallableNV )].operands .push (OperandId ,"CallableData ID" ); 3315InstructionDesc [enumCast (Op ::OpExecuteCallableNV )].setResultAndType (false, false); 3316 3317InstructionDesc [enumCast (Op ::OpExecuteCallableKHR )].operands .push (OperandId ,"SBT Record Index" ); 3318InstructionDesc [enumCast (Op ::OpExecuteCallableKHR )].operands .push (OperandId ,"CallableData" ); 3319InstructionDesc [enumCast (Op ::OpExecuteCallableKHR )].setResultAndType (false, false); 3320 3321InstructionDesc [enumCast (Op ::OpConvertUToAccelerationStructureKHR )].operands .push (OperandId ,"Value" ); 3322InstructionDesc [enumCast (Op ::OpConvertUToAccelerationStructureKHR )].setResultAndType (true, true); 3323 3324// Ray Query 3325InstructionDesc [enumCast (Op ::OpTypeAccelerationStructureKHR )].setResultAndType (true, false); 3326InstructionDesc [enumCast (Op ::OpTypeRayQueryKHR )].setResultAndType (true, false); 3327 3328InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'RayQuery'" ); 3329InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'AccelerationS'" ); 3330InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'RayFlags'" ); 3331InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'CullMask'" ); 3332InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'Origin'" ); 3333InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'Tmin'" ); 3334InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'Direction'" ); 3335InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].operands .push (OperandId ,"'Tmax'" ); 3336InstructionDesc [enumCast (Op ::OpRayQueryInitializeKHR )].setResultAndType (false, false); 3337 3338InstructionDesc [enumCast (Op ::OpRayQueryTerminateKHR )].operands .push (OperandId ,"'RayQuery'" ); 3339InstructionDesc [enumCast (Op ::OpRayQueryTerminateKHR )].setResultAndType (false, false); 3340 3341InstructionDesc [enumCast (Op ::OpRayQueryGenerateIntersectionKHR )].operands .push (OperandId ,"'RayQuery'" ); 3342InstructionDesc [enumCast (Op ::OpRayQueryGenerateIntersectionKHR )].operands .push (OperandId ,"'THit'" ); 3343InstructionDesc [enumCast (Op ::OpRayQueryGenerateIntersectionKHR )].setResultAndType (false, false); 3344 3345InstructionDesc [enumCast (Op ::OpRayQueryConfirmIntersectionKHR )].operands .push (OperandId ,"'RayQuery'" ); 3346InstructionDesc [enumCast (Op ::OpRayQueryConfirmIntersectionKHR )].setResultAndType (false, false); 3347 3348InstructionDesc [enumCast (Op ::OpRayQueryProceedKHR )].operands .push (OperandId ,"'RayQuery'" ); 3349InstructionDesc [enumCast (Op ::OpRayQueryProceedKHR )].setResultAndType (true, true); 3350 3351InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTypeKHR )].operands .push (OperandId ,"'RayQuery'" ); 3352InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTypeKHR )].operands .push (OperandId ,"'Committed'" ); 3353InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTypeKHR )].setResultAndType (true, true); 3354 3355InstructionDesc [enumCast (Op ::OpRayQueryGetRayTMinKHR )].operands .push (OperandId ,"'RayQuery'" ); 3356InstructionDesc [enumCast (Op ::OpRayQueryGetRayTMinKHR )].setResultAndType (true, true); 3357 3358InstructionDesc [enumCast (Op ::OpRayQueryGetRayFlagsKHR )].operands .push (OperandId ,"'RayQuery'" ); 3359InstructionDesc [enumCast (Op ::OpRayQueryGetRayFlagsKHR )].setResultAndType (true, true); 3360 3361InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTKHR )].operands .push (OperandId ,"'RayQuery'" ); 3362InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTKHR )].operands .push (OperandId ,"'Committed'" ); 3363InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTKHR )].setResultAndType (true, true); 3364 3365InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceCustomIndexKHR )].operands .push (OperandId ,"'RayQuery'" ); 3366InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceCustomIndexKHR )].operands .push (OperandId ,"'Committed'" ); 3367InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceCustomIndexKHR )].setResultAndType (true, true); 3368 3369InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceIdKHR )].operands .push (OperandId ,"'RayQuery'" ); 3370InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceIdKHR )].operands .push (OperandId ,"'Committed'" ); 3371InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceIdKHR )].setResultAndType (true, true); 3372 3373InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR )].operands .push (OperandId ,"'RayQuery'" ); 3374InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR )].operands .push (OperandId ,"'Committed'" ); 3375InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR )].setResultAndType (true, true); 3376 3377InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionGeometryIndexKHR )].operands .push (OperandId ,"'RayQuery'" ); 3378InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionGeometryIndexKHR )].operands .push (OperandId ,"'Committed'" ); 3379InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionGeometryIndexKHR )].setResultAndType (true, true); 3380 3381InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionPrimitiveIndexKHR )].operands .push (OperandId ,"'RayQuery'" ); 3382InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionPrimitiveIndexKHR )].operands .push (OperandId ,"'Committed'" ); 3383InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionPrimitiveIndexKHR )].setResultAndType (true, true); 3384 3385InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionBarycentricsKHR )].operands .push (OperandId ,"'RayQuery'" ); 3386InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionBarycentricsKHR )].operands .push (OperandId ,"'Committed'" ); 3387InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionBarycentricsKHR )].setResultAndType (true, true); 3388 3389InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionFrontFaceKHR )].operands .push (OperandId ,"'RayQuery'" ); 3390InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionFrontFaceKHR )].operands .push (OperandId ,"'Committed'" ); 3391InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionFrontFaceKHR )].setResultAndType (true, true); 3392 3393InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR )].operands .push (OperandId ,"'RayQuery'" ); 3394InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionCandidateAABBOpaqueKHR )].setResultAndType (true, true); 3395 3396InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectRayDirectionKHR )].operands .push (OperandId ,"'RayQuery'" ); 3397InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectRayDirectionKHR )].operands .push (OperandId ,"'Committed'" ); 3398InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectRayDirectionKHR )].setResultAndType (true, true); 3399 3400InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectRayOriginKHR )].operands .push (OperandId ,"'RayQuery'" ); 3401InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectRayOriginKHR )].operands .push (OperandId ,"'Committed'" ); 3402InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectRayOriginKHR )].setResultAndType (true, true); 3403 3404InstructionDesc [enumCast (Op ::OpRayQueryGetWorldRayDirectionKHR )].operands .push (OperandId ,"'RayQuery'" ); 3405InstructionDesc [enumCast (Op ::OpRayQueryGetWorldRayDirectionKHR )].setResultAndType (true, true); 3406 3407InstructionDesc [enumCast (Op ::OpRayQueryGetWorldRayOriginKHR )].operands .push (OperandId ,"'RayQuery'" ); 3408InstructionDesc [enumCast (Op ::OpRayQueryGetWorldRayOriginKHR )].setResultAndType (true, true); 3409 3410InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectToWorldKHR )].operands .push (OperandId ,"'RayQuery'" ); 3411InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectToWorldKHR )].operands .push (OperandId ,"'Committed'" ); 3412InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionObjectToWorldKHR )].setResultAndType (true, true); 3413 3414InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionWorldToObjectKHR )].operands .push (OperandId ,"'RayQuery'" ); 3415InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionWorldToObjectKHR )].operands .push (OperandId ,"'Committed'" ); 3416InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionWorldToObjectKHR )].setResultAndType (true, true); 3417 3418InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTriangleVertexPositionsKHR )].operands .push (OperandId ,"'RayQuery'" ); 3419InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTriangleVertexPositionsKHR )].operands .push (OperandId ,"'Committed'" ); 3420InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionTriangleVertexPositionsKHR )].setResultAndType (true, true); 3421 3422InstructionDesc [enumCast (Op ::OpRayQueryGetClusterIdNV )].operands .push (OperandId ,"'RayQuery'" ); 3423InstructionDesc [enumCast (Op ::OpRayQueryGetClusterIdNV )].operands .push (OperandId ,"'Committed'" ); 3424InstructionDesc [enumCast (Op ::OpRayQueryGetClusterIdNV )].setResultAndType (true, true); 3425InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionSpherePositionNV )].operands .push (OperandId ,"'RayQuery'" ); 3426InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionSpherePositionNV )].operands .push (OperandId ,"'Committed'" ); 3427InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionSpherePositionNV )].setResultAndType (true, true); 3428 3429InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionSphereRadiusNV )].operands .push (OperandId ,"'RayQuery'" ); 3430InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionSphereRadiusNV )].operands .push (OperandId ,"'Committed'" ); 3431InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionSphereRadiusNV )].setResultAndType (true, true); 3432 3433InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSHitValueNV )].operands .push (OperandId ,"'RayQuery'" ); 3434InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSHitValueNV )].operands .push (OperandId ,"'Committed'" ); 3435InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSHitValueNV )].setResultAndType (true, true); 3436 3437InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSPositionsNV )].operands .push (OperandId ,"'RayQuery'" ); 3438InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSPositionsNV )].operands .push (OperandId ,"'Committed'" ); 3439InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSPositionsNV )].setResultAndType (true, true); 3440 3441InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSRadiiNV )].operands .push (OperandId ,"'RayQuery'" ); 3442InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSRadiiNV )].operands .push (OperandId ,"'Committed'" ); 3443InstructionDesc [enumCast (Op ::OpRayQueryGetIntersectionLSSRadiiNV )].setResultAndType (true, true); 3444 3445InstructionDesc [enumCast (Op ::OpRayQueryIsSphereHitNV )].operands .push (OperandId ,"'RayQuery'" ); 3446InstructionDesc [enumCast (Op ::OpRayQueryIsSphereHitNV )].operands .push (OperandId ,"'Committed'" ); 3447InstructionDesc [enumCast (Op ::OpRayQueryIsSphereHitNV )].setResultAndType (true, true); 3448 3449InstructionDesc [enumCast (Op ::OpRayQueryIsLSSHitNV )].operands .push (OperandId ,"'RayQuery'" ); 3450InstructionDesc [enumCast (Op ::OpRayQueryIsLSSHitNV )].operands .push (OperandId ,"'Committed'" ); 3451InstructionDesc [enumCast (Op ::OpRayQueryIsLSSHitNV )].setResultAndType (true, true); 3452 3453InstructionDesc [enumCast (Op ::OpImageSampleFootprintNV )].operands .push (OperandId ,"'Sampled Image'" ); 3454InstructionDesc [enumCast (Op ::OpImageSampleFootprintNV )].operands .push (OperandId ,"'Coordinate'" ); 3455InstructionDesc [enumCast (Op ::OpImageSampleFootprintNV )].operands .push (OperandId ,"'Granularity'" ); 3456InstructionDesc [enumCast (Op ::OpImageSampleFootprintNV )].operands .push (OperandId ,"'Coarse'" ); 3457InstructionDesc [enumCast (Op ::OpImageSampleFootprintNV )].operands .push (OperandImageOperands ,"" , true); 3458InstructionDesc [enumCast (Op ::OpImageSampleFootprintNV )].operands .push (OperandVariableIds ,"" , true); 3459 3460InstructionDesc [enumCast (Op ::OpWritePackedPrimitiveIndices4x8NV )].operands .push (OperandId ,"'Index Offset'" ); 3461InstructionDesc [enumCast (Op ::OpWritePackedPrimitiveIndices4x8NV )].operands .push (OperandId ,"'Packed Indices'" ); 3462 3463InstructionDesc [enumCast (Op ::OpEmitMeshTasksEXT )].operands .push (OperandId ,"'groupCountX'" ); 3464InstructionDesc [enumCast (Op ::OpEmitMeshTasksEXT )].operands .push (OperandId ,"'groupCountY'" ); 3465InstructionDesc [enumCast (Op ::OpEmitMeshTasksEXT )].operands .push (OperandId ,"'groupCountZ'" ); 3466InstructionDesc [enumCast (Op ::OpEmitMeshTasksEXT )].operands .push (OperandId ,"'Payload'" ); 3467InstructionDesc [enumCast (Op ::OpEmitMeshTasksEXT )].setResultAndType (false, false); 3468 3469InstructionDesc [enumCast (Op ::OpSetMeshOutputsEXT )].operands .push (OperandId ,"'vertexCount'" ); 3470InstructionDesc [enumCast (Op ::OpSetMeshOutputsEXT )].operands .push (OperandId ,"'primitiveCount'" ); 3471InstructionDesc [enumCast (Op ::OpSetMeshOutputsEXT )].setResultAndType (false, false); 3472 3473 3474InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixNV )].operands .push (OperandId ,"'Component Type'" ); 3475InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixNV )].operands .push (OperandId ,"'Scope'" ); 3476InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixNV )].operands .push (OperandId ,"'Rows'" ); 3477InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixNV )].operands .push (OperandId ,"'Columns'" ); 3478 3479InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadNV )].operands .push (OperandId ,"'Pointer'" ); 3480InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadNV )].operands .push (OperandId ,"'Stride'" ); 3481InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadNV )].operands .push (OperandId ,"'Column Major'" ); 3482InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadNV )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3483InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadNV )].operands .push (OperandLiteralNumber ,"" , true); 3484InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadNV )].operands .push (OperandId ,"" , true); 3485 3486InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].operands .push (OperandId ,"'Pointer'" ); 3487InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].operands .push (OperandId ,"'Object'" ); 3488InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].operands .push (OperandId ,"'Stride'" ); 3489InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].operands .push (OperandId ,"'Column Major'" ); 3490InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3491InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].operands .push (OperandLiteralNumber ,"" , true); 3492InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreNV )].operands .push (OperandId ,"" , true); 3493 3494InstructionDesc [enumCast (Op ::OpCooperativeMatrixMulAddNV )].operands .push (OperandId ,"'A'" ); 3495InstructionDesc [enumCast (Op ::OpCooperativeMatrixMulAddNV )].operands .push (OperandId ,"'B'" ); 3496InstructionDesc [enumCast (Op ::OpCooperativeMatrixMulAddNV )].operands .push (OperandId ,"'C'" ); 3497 3498InstructionDesc [enumCast (Op ::OpCooperativeMatrixLengthNV )].operands .push (OperandId ,"'Type'" ); 3499 3500InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixKHR )].operands .push (OperandId ,"'Component Type'" ); 3501InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixKHR )].operands .push (OperandId ,"'Scope'" ); 3502InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixKHR )].operands .push (OperandId ,"'Rows'" ); 3503InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixKHR )].operands .push (OperandId ,"'Columns'" ); 3504InstructionDesc [enumCast (Op ::OpTypeCooperativeMatrixKHR )].operands .push (OperandId ,"'Use'" ); 3505 3506InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadKHR )].operands .push (OperandId ,"'Pointer'" ); 3507InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadKHR )].operands .push (OperandId ,"'Memory Layout'" ); 3508InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadKHR )].operands .push (OperandId ,"'Stride'" ); 3509InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadKHR )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3510InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadKHR )].operands .push (OperandLiteralNumber ,"" , true); 3511InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadKHR )].operands .push (OperandId ,"" , true); 3512 3513InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].operands .push (OperandId ,"'Pointer'" ); 3514InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].operands .push (OperandId ,"'Object'" ); 3515InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].operands .push (OperandId ,"'Memory Layout'" ); 3516InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].operands .push (OperandId ,"'Stride'" ); 3517InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3518InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].operands .push (OperandLiteralNumber ,"" , true); 3519InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreKHR )].operands .push (OperandId ,"" , true); 3520 3521InstructionDesc [enumCast (Op ::OpCooperativeMatrixMulAddKHR )].operands .push (OperandId ,"'A'" ); 3522InstructionDesc [enumCast (Op ::OpCooperativeMatrixMulAddKHR )].operands .push (OperandId ,"'B'" ); 3523InstructionDesc [enumCast (Op ::OpCooperativeMatrixMulAddKHR )].operands .push (OperandId ,"'C'" ); 3524InstructionDesc [enumCast (Op ::OpCooperativeMatrixMulAddKHR )].operands .push (OperandCooperativeMatrixOperands ,"'Cooperative Matrix Operands'" , true); 3525 3526InstructionDesc [enumCast (Op ::OpCooperativeMatrixLengthKHR )].operands .push (OperandId ,"'Type'" ); 3527 3528InstructionDesc [enumCast (Op ::OpTypeCooperativeVectorNV )].operands .push (OperandId ,"'Component Type'" ); 3529InstructionDesc [enumCast (Op ::OpTypeCooperativeVectorNV )].operands .push (OperandId ,"'Components'" ); 3530 3531InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'Input'" ); 3532InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'InputInterpretation'" ); 3533InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'Matrix'" ); 3534InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'MatrixOffset'" ); 3535InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'MatrixInterpretation'" ); 3536InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'M'" ); 3537InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'K'" ); 3538InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'MemoryLayout'" ); 3539InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'Transpose'" ); 3540InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandId ,"'MatrixStride'" , true); 3541InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulNV )].operands .push (OperandCooperativeMatrixOperands ,"'Cooperative Matrix Operands'" , true); 3542 3543InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'Input'" ); 3544InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'InputInterpretation'" ); 3545InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'Matrix'" ); 3546InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'MatrixOffset'" ); 3547InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'MatrixInterpretation'" ); 3548InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'Bias'" ); 3549InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'BiasOffset'" ); 3550InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'BiasInterpretation'" ); 3551InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'M'" ); 3552InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'K'" ); 3553InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'MemoryLayout'" ); 3554InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'Transpose'" ); 3555InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandId ,"'MatrixStride'" , true); 3556InstructionDesc [enumCast (Op ::OpCooperativeVectorMatrixMulAddNV )].operands .push (OperandCooperativeMatrixOperands ,"'Cooperative Matrix Operands'" , true); 3557 3558InstructionDesc [enumCast (Op ::OpCooperativeVectorLoadNV )].operands .push (OperandId ,"'Pointer'" ); 3559InstructionDesc [enumCast (Op ::OpCooperativeVectorLoadNV )].operands .push (OperandId ,"'Offset'" ); 3560InstructionDesc [enumCast (Op ::OpCooperativeVectorLoadNV )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3561InstructionDesc [enumCast (Op ::OpCooperativeVectorLoadNV )].operands .push (OperandLiteralNumber ,"" , true); 3562InstructionDesc [enumCast (Op ::OpCooperativeVectorLoadNV )].operands .push (OperandId ,"" , true); 3563 3564InstructionDesc [enumCast (Op ::OpCooperativeVectorStoreNV )].operands .push (OperandId ,"'Pointer'" ); 3565InstructionDesc [enumCast (Op ::OpCooperativeVectorStoreNV )].operands .push (OperandId ,"'Offset'" ); 3566InstructionDesc [enumCast (Op ::OpCooperativeVectorStoreNV )].operands .push (OperandId ,"'Object'" ); 3567InstructionDesc [enumCast (Op ::OpCooperativeVectorStoreNV )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3568InstructionDesc [enumCast (Op ::OpCooperativeVectorStoreNV )].operands .push (OperandLiteralNumber ,"" , true); 3569InstructionDesc [enumCast (Op ::OpCooperativeVectorStoreNV )].operands .push (OperandId ,"" , true); 3570 3571InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].operands .push (OperandId ,"'Pointer'" ); 3572InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].operands .push (OperandId ,"'Offset'" ); 3573InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].operands .push (OperandId ,"'A'" ); 3574InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].operands .push (OperandId ,"'B'" ); 3575InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].operands .push (OperandId ,"'MemoryLayout'" ); 3576InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].operands .push (OperandId ,"'MatrixInterpretation'" ); 3577InstructionDesc [enumCast (Op ::OpCooperativeVectorOuterProductAccumulateNV )].operands .push (OperandId ,"'MatrixStride'" , true); 3578 3579InstructionDesc [enumCast (Op ::OpCooperativeVectorReduceSumAccumulateNV )].operands .push (OperandId ,"'Pointer'" ); 3580InstructionDesc [enumCast (Op ::OpCooperativeVectorReduceSumAccumulateNV )].operands .push (OperandId ,"'Offset'" ); 3581InstructionDesc [enumCast (Op ::OpCooperativeVectorReduceSumAccumulateNV )].operands .push (OperandId ,"'V'" ); 3582 3583InstructionDesc [enumCast (Op ::OpDemoteToHelperInvocationEXT )].setResultAndType (false, false); 3584 3585InstructionDesc [enumCast (Op ::OpReadClockKHR )].operands .push (OperandScope ,"'Scope'" ); 3586 3587InstructionDesc [enumCast (Op ::OpTypeHitObjectNV )].setResultAndType (true, false); 3588 3589InstructionDesc [enumCast (Op ::OpHitObjectGetShaderRecordBufferHandleNV )].operands .push (OperandId ,"'HitObject'" ); 3590InstructionDesc [enumCast (Op ::OpHitObjectGetShaderRecordBufferHandleNV )].setResultAndType (true, true); 3591 3592InstructionDesc [enumCast (Op ::OpReorderThreadWithHintNV )].operands .push (OperandId ,"'Hint'" ); 3593InstructionDesc [enumCast (Op ::OpReorderThreadWithHintNV )].operands .push (OperandId ,"'Bits'" ); 3594InstructionDesc [enumCast (Op ::OpReorderThreadWithHintNV )].setResultAndType (false, false); 3595 3596InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectNV )].operands .push (OperandId ,"'HitObject'" ); 3597InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectNV )].operands .push (OperandId ,"'Hint'" ); 3598InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectNV )].operands .push (OperandId ,"'Bits'" ); 3599InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectNV )].setResultAndType (false, false); 3600 3601InstructionDesc [enumCast (Op ::OpHitObjectGetCurrentTimeNV )].operands .push (OperandId ,"'HitObject'" ); 3602InstructionDesc [enumCast (Op ::OpHitObjectGetCurrentTimeNV )].setResultAndType (true, true); 3603 3604InstructionDesc [enumCast (Op ::OpHitObjectGetHitKindNV )].operands .push (OperandId ,"'HitObject'" ); 3605InstructionDesc [enumCast (Op ::OpHitObjectGetHitKindNV )].setResultAndType (true, true); 3606 3607InstructionDesc [enumCast (Op ::OpHitObjectGetPrimitiveIndexNV )].operands .push (OperandId ,"'HitObject'" ); 3608InstructionDesc [enumCast (Op ::OpHitObjectGetPrimitiveIndexNV )].setResultAndType (true, true); 3609 3610InstructionDesc [enumCast (Op ::OpHitObjectGetGeometryIndexNV )].operands .push (OperandId ,"'HitObject'" ); 3611InstructionDesc [enumCast (Op ::OpHitObjectGetGeometryIndexNV )].setResultAndType (true, true); 3612 3613InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceIdNV )].operands .push (OperandId ,"'HitObject'" ); 3614InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceIdNV )].setResultAndType (true, true); 3615 3616InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceCustomIndexNV )].operands .push (OperandId ,"'HitObject'" ); 3617InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceCustomIndexNV )].setResultAndType (true, true); 3618 3619InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayDirectionNV )].operands .push (OperandId ,"'HitObject'" ); 3620InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayDirectionNV )].setResultAndType (true, true); 3621 3622InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayOriginNV )].operands .push (OperandId ,"'HitObject'" ); 3623InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayOriginNV )].setResultAndType (true, true); 3624 3625InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayDirectionNV )].operands .push (OperandId ,"'HitObject'" ); 3626InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayDirectionNV )].setResultAndType (true, true); 3627 3628InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayOriginNV )].operands .push (OperandId ,"'HitObject'" ); 3629InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayOriginNV )].setResultAndType (true, true); 3630 3631InstructionDesc [enumCast (Op ::OpHitObjectGetWorldToObjectNV )].operands .push (OperandId ,"'HitObject'" ); 3632InstructionDesc [enumCast (Op ::OpHitObjectGetWorldToObjectNV )].setResultAndType (true, true); 3633 3634InstructionDesc [enumCast (Op ::OpHitObjectGetObjectToWorldNV )].operands .push (OperandId ,"'HitObject'" ); 3635InstructionDesc [enumCast (Op ::OpHitObjectGetObjectToWorldNV )].setResultAndType (true, true); 3636 3637InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMaxNV )].operands .push (OperandId ,"'HitObject'" ); 3638InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMaxNV )].setResultAndType (true, true); 3639 3640InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMinNV )].operands .push (OperandId ,"'HitObject'" ); 3641InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMinNV )].setResultAndType (true, true); 3642 3643InstructionDesc [enumCast (Op ::OpHitObjectGetShaderBindingTableRecordIndexNV )].operands .push (OperandId ,"'HitObject'" ); 3644InstructionDesc [enumCast (Op ::OpHitObjectGetShaderBindingTableRecordIndexNV )].setResultAndType (true, true); 3645 3646InstructionDesc [enumCast (Op ::OpHitObjectIsEmptyNV )].operands .push (OperandId ,"'HitObject'" ); 3647InstructionDesc [enumCast (Op ::OpHitObjectIsEmptyNV )].setResultAndType (true, true); 3648 3649InstructionDesc [enumCast (Op ::OpHitObjectIsHitNV )].operands .push (OperandId ,"'HitObject'" ); 3650InstructionDesc [enumCast (Op ::OpHitObjectIsHitNV )].setResultAndType (true, true); 3651 3652InstructionDesc [enumCast (Op ::OpHitObjectIsMissNV )].operands .push (OperandId ,"'HitObject'" ); 3653InstructionDesc [enumCast (Op ::OpHitObjectIsMissNV )].setResultAndType (true, true); 3654 3655InstructionDesc [enumCast (Op ::OpHitObjectGetAttributesNV )].operands .push (OperandId ,"'HitObject'" ); 3656InstructionDesc [enumCast (Op ::OpHitObjectGetAttributesNV )].operands .push (OperandId ,"'HitObjectAttribute'" ); 3657InstructionDesc [enumCast (Op ::OpHitObjectGetAttributesNV )].setResultAndType (false, false); 3658 3659InstructionDesc [enumCast (Op ::OpHitObjectExecuteShaderNV )].operands .push (OperandId ,"'HitObject'" ); 3660InstructionDesc [enumCast (Op ::OpHitObjectExecuteShaderNV )].operands .push (OperandId ,"'Payload'" ); 3661InstructionDesc [enumCast (Op ::OpHitObjectExecuteShaderNV )].setResultAndType (false, false); 3662 3663InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'HitObject'" ); 3664InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3665InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'InstanceId'" ); 3666InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'PrimitiveId'" ); 3667InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'GeometryIndex'" ); 3668InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'HitKind'" ); 3669InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'SBT Record Offset'" ); 3670InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'SBT Record Stride'" ); 3671InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'Origin'" ); 3672InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'TMin'" ); 3673InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'Direction'" ); 3674InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'TMax'" ); 3675InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].operands .push (OperandId ,"'HitObject Attribute'" ); 3676InstructionDesc [enumCast (Op ::OpHitObjectRecordHitNV )].setResultAndType (false, false); 3677 3678InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'HitObject'" ); 3679InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3680InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'InstanceId'" ); 3681InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'PrimitiveId'" ); 3682InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'GeometryIndex'" ); 3683InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'HitKind'" ); 3684InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'SBT Record Offset'" ); 3685InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'SBT Record Stride'" ); 3686InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'Origin'" ); 3687InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'TMin'" ); 3688InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'Direction'" ); 3689InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'TMax'" ); 3690InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'Current Time'" ); 3691InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].operands .push (OperandId ,"'HitObject Attribute'" ); 3692InstructionDesc [enumCast (Op ::OpHitObjectRecordHitMotionNV )].setResultAndType (false, false); 3693 3694InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'HitObject'" ); 3695InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3696InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'InstanceId'" ); 3697InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'PrimitiveId'" ); 3698InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'GeometryIndex'" ); 3699InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'HitKind'" ); 3700InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'SBT Record Index'" ); 3701InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'Origin'" ); 3702InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'TMin'" ); 3703InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'Direction'" ); 3704InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'TMax'" ); 3705InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].operands .push (OperandId ,"'HitObject Attribute'" ); 3706InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexNV )].setResultAndType (false, false); 3707 3708InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'HitObject'" ); 3709InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3710InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'InstanceId'" ); 3711InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'PrimitiveId'" ); 3712InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'GeometryIndex'" ); 3713InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'HitKind'" ); 3714InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'SBT Record Index'" ); 3715InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'Origin'" ); 3716InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'TMin'" ); 3717InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'Direction'" ); 3718InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'TMax'" ); 3719InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'Current Time'" ); 3720InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].operands .push (OperandId ,"'HitObject Attribute'" ); 3721InstructionDesc [enumCast (Op ::OpHitObjectRecordHitWithIndexMotionNV )].setResultAndType (false, false); 3722 3723InstructionDesc [enumCast (Op ::OpHitObjectRecordMissNV )].operands .push (OperandId ,"'HitObject'" ); 3724InstructionDesc [enumCast (Op ::OpHitObjectRecordMissNV )].operands .push (OperandId ,"'SBT Index'" ); 3725InstructionDesc [enumCast (Op ::OpHitObjectRecordMissNV )].operands .push (OperandId ,"'Origin'" ); 3726InstructionDesc [enumCast (Op ::OpHitObjectRecordMissNV )].operands .push (OperandId ,"'TMin'" ); 3727InstructionDesc [enumCast (Op ::OpHitObjectRecordMissNV )].operands .push (OperandId ,"'Direction'" ); 3728InstructionDesc [enumCast (Op ::OpHitObjectRecordMissNV )].operands .push (OperandId ,"'TMax'" ); 3729InstructionDesc [enumCast (Op ::OpHitObjectRecordMissNV )].setResultAndType (false, false); 3730 3731InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].operands .push (OperandId ,"'HitObject'" ); 3732InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].operands .push (OperandId ,"'SBT Index'" ); 3733InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].operands .push (OperandId ,"'Origin'" ); 3734InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].operands .push (OperandId ,"'TMin'" ); 3735InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].operands .push (OperandId ,"'Direction'" ); 3736InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].operands .push (OperandId ,"'TMax'" ); 3737InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].operands .push (OperandId ,"'Current Time'" ); 3738InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionNV )].setResultAndType (false, false); 3739 3740InstructionDesc [enumCast (Op ::OpHitObjectRecordEmptyNV )].operands .push (OperandId ,"'HitObject'" ); 3741InstructionDesc [enumCast (Op ::OpHitObjectRecordEmptyNV )].setResultAndType (false, false); 3742 3743InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'HitObject'" ); 3744InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3745InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'RayFlags'" ); 3746InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'Cullmask'" ); 3747InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'SBT Record Offset'" ); 3748InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'SBT Record Stride'" ); 3749InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'Miss Index'" ); 3750InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'Origin'" ); 3751InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'TMin'" ); 3752InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'Direction'" ); 3753InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'TMax'" ); 3754InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].operands .push (OperandId ,"'Payload'" ); 3755InstructionDesc [enumCast (Op ::OpHitObjectTraceRayNV )].setResultAndType (false, false); 3756 3757InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'HitObject'" ); 3758InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3759InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'RayFlags'" ); 3760InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'Cullmask'" ); 3761InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'SBT Record Offset'" ); 3762InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'SBT Record Stride'" ); 3763InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'Miss Index'" ); 3764InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'Origin'" ); 3765InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'TMin'" ); 3766InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'Direction'" ); 3767InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'TMax'" ); 3768InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'Time'" ); 3769InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].operands .push (OperandId ,"'Payload'" ); 3770InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionNV )].setResultAndType (false, false); 3771 3772InstructionDesc [enumCast (Op ::OpHitObjectGetClusterIdNV )].operands .push (OperandId ,"'HitObject'" ); 3773InstructionDesc [enumCast (Op ::OpHitObjectGetClusterIdNV )].setResultAndType (true, true); 3774InstructionDesc [enumCast (Op ::OpHitObjectGetSpherePositionNV )].operands .push (OperandId ,"'HitObject'" ); 3775InstructionDesc [enumCast (Op ::OpHitObjectGetSpherePositionNV )].setResultAndType (true, true); 3776 3777InstructionDesc [enumCast (Op ::OpHitObjectGetSphereRadiusNV )].operands .push (OperandId ,"'HitObject'" ); 3778InstructionDesc [enumCast (Op ::OpHitObjectGetSphereRadiusNV )].setResultAndType (true, true); 3779 3780InstructionDesc [enumCast (Op ::OpHitObjectGetLSSPositionsNV )].operands .push (OperandId ,"'HitObject'" ); 3781InstructionDesc [enumCast (Op ::OpHitObjectGetLSSPositionsNV )].setResultAndType (true, true); 3782 3783InstructionDesc [enumCast (Op ::OpHitObjectGetLSSRadiiNV )].operands .push (OperandId ,"'HitObject'" ); 3784InstructionDesc [enumCast (Op ::OpHitObjectGetLSSRadiiNV )].setResultAndType (true, true); 3785 3786InstructionDesc [enumCast (Op ::OpHitObjectIsSphereHitNV )].operands .push (OperandId ,"'HitObject'" ); 3787InstructionDesc [enumCast (Op ::OpHitObjectIsSphereHitNV )].setResultAndType (true, true); 3788 3789InstructionDesc [enumCast (Op ::OpHitObjectIsLSSHitNV )].operands .push (OperandId ,"'HitObject'" ); 3790InstructionDesc [enumCast (Op ::OpHitObjectIsLSSHitNV )].setResultAndType (true, true); 3791 3792InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexBarycentricNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3793InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexBarycentricNV )].operands .push (OperandId ,"'Instance ID'" ); 3794InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexBarycentricNV )].operands .push (OperandId ,"'Geometry Index'" ); 3795InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexBarycentricNV )].operands .push (OperandId ,"'Primitive Index'" ); 3796InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexBarycentricNV )].operands .push (OperandId ,"'Barycentrics'" ); 3797InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexBarycentricNV )].setResultAndType (true, true); 3798 3799InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexPositionNV )].operands .push (OperandId ,"'Acceleration Structure'" ); 3800InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexPositionNV )].operands .push (OperandId ,"'Instance ID'" ); 3801InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexPositionNV )].operands .push (OperandId ,"'Geometry Index'" ); 3802InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexPositionNV )].operands .push (OperandId ,"'Primitive Index'" ); 3803InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexPositionNV )].operands .push (OperandId ,"'Barycentrics'" ); 3804InstructionDesc [enumCast (Op ::OpFetchMicroTriangleVertexPositionNV )].setResultAndType (true, true); 3805 3806InstructionDesc [enumCast (Op ::OpColorAttachmentReadEXT )].operands .push (OperandId ,"'Attachment'" ); 3807InstructionDesc [enumCast (Op ::OpColorAttachmentReadEXT )].operands .push (OperandId ,"'Sample'" , true); 3808InstructionDesc [enumCast (Op ::OpStencilAttachmentReadEXT )].operands .push (OperandId ,"'Sample'" , true); 3809InstructionDesc [enumCast (Op ::OpDepthAttachmentReadEXT )].operands .push (OperandId ,"'Sample'" , true); 3810 3811InstructionDesc [enumCast (Op ::OpImageSampleWeightedQCOM )].operands .push (OperandId ,"'Source Texture'" ); 3812InstructionDesc [enumCast (Op ::OpImageSampleWeightedQCOM )].operands .push (OperandId ,"'Texture Coordinates'" ); 3813InstructionDesc [enumCast (Op ::OpImageSampleWeightedQCOM )].operands .push (OperandId ,"'Weights Texture'" ); 3814InstructionDesc [enumCast (Op ::OpImageSampleWeightedQCOM )].operands .push (OperandImageOperands ,"" , true); 3815InstructionDesc [enumCast (Op ::OpImageSampleWeightedQCOM )].setResultAndType (true, true); 3816 3817InstructionDesc [enumCast (Op ::OpImageBoxFilterQCOM )].operands .push (OperandId ,"'Source Texture'" ); 3818InstructionDesc [enumCast (Op ::OpImageBoxFilterQCOM )].operands .push (OperandId ,"'Texture Coordinates'" ); 3819InstructionDesc [enumCast (Op ::OpImageBoxFilterQCOM )].operands .push (OperandId ,"'Box Size'" ); 3820InstructionDesc [enumCast (Op ::OpImageBoxFilterQCOM )].operands .push (OperandImageOperands ,"" , true); 3821InstructionDesc [enumCast (Op ::OpImageBoxFilterQCOM )].setResultAndType (true, true); 3822 3823InstructionDesc [enumCast (Op ::OpImageBlockMatchSADQCOM )].operands .push (OperandId ,"'Target Texture'" ); 3824InstructionDesc [enumCast (Op ::OpImageBlockMatchSADQCOM )].operands .push (OperandId ,"'Target Coordinates'" ); 3825InstructionDesc [enumCast (Op ::OpImageBlockMatchSADQCOM )].operands .push (OperandId ,"'Reference Texture'" ); 3826InstructionDesc [enumCast (Op ::OpImageBlockMatchSADQCOM )].operands .push (OperandId ,"'Reference Coordinates'" ); 3827InstructionDesc [enumCast (Op ::OpImageBlockMatchSADQCOM )].operands .push (OperandId ,"'Block Size'" ); 3828InstructionDesc [enumCast (Op ::OpImageBlockMatchSADQCOM )].operands .push (OperandImageOperands ,"" , true); 3829InstructionDesc [enumCast (Op ::OpImageBlockMatchSADQCOM )].setResultAndType (true, true); 3830 3831InstructionDesc [enumCast (Op ::OpImageBlockMatchSSDQCOM )].operands .push (OperandId ,"'Target Texture'" ); 3832InstructionDesc [enumCast (Op ::OpImageBlockMatchSSDQCOM )].operands .push (OperandId ,"'Target Coordinates'" ); 3833InstructionDesc [enumCast (Op ::OpImageBlockMatchSSDQCOM )].operands .push (OperandId ,"'Reference Texture'" ); 3834InstructionDesc [enumCast (Op ::OpImageBlockMatchSSDQCOM )].operands .push (OperandId ,"'Reference Coordinates'" ); 3835InstructionDesc [enumCast (Op ::OpImageBlockMatchSSDQCOM )].operands .push (OperandId ,"'Block Size'" ); 3836InstructionDesc [enumCast (Op ::OpImageBlockMatchSSDQCOM )].operands .push (OperandImageOperands ,"" , true); 3837InstructionDesc [enumCast (Op ::OpImageBlockMatchSSDQCOM )].setResultAndType (true, true); 3838 3839InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSSDQCOM )].operands .push (OperandId ,"'Target Texture'" ); 3840InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSSDQCOM )].operands .push (OperandId ,"'Target Coordinates'" ); 3841InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSSDQCOM )].operands .push (OperandId ,"'Reference Texture'" ); 3842InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSSDQCOM )].operands .push (OperandId ,"'Reference Coordinates'" ); 3843InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSSDQCOM )].operands .push (OperandId ,"'Block Size'" ); 3844InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSSDQCOM )].operands .push (OperandImageOperands ,"" , true); 3845InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSSDQCOM )].setResultAndType (true, true); 3846 3847InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSADQCOM )].operands .push (OperandId ,"'Target Texture'" ); 3848InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSADQCOM )].operands .push (OperandId ,"'Target Coordinates'" ); 3849InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSADQCOM )].operands .push (OperandId ,"'Reference Texture'" ); 3850InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSADQCOM )].operands .push (OperandId ,"'Reference Coordinates'" ); 3851InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSADQCOM )].operands .push (OperandId ,"'Block Size'" ); 3852InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSADQCOM )].operands .push (OperandImageOperands ,"" , true); 3853InstructionDesc [enumCast (Op ::OpImageBlockMatchWindowSADQCOM )].setResultAndType (true, true); 3854 3855InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSSDQCOM )].operands .push (OperandId ,"'Target Texture'" ); 3856InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSSDQCOM )].operands .push (OperandId ,"'Target Coordinates'" ); 3857InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSSDQCOM )].operands .push (OperandId ,"'Reference Texture'" ); 3858InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSSDQCOM )].operands .push (OperandId ,"'Reference Coordinates'" ); 3859InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSSDQCOM )].operands .push (OperandId ,"'Block Size'" ); 3860InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSSDQCOM )].operands .push (OperandImageOperands ,"" , true); 3861InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSSDQCOM )].setResultAndType (true, true); 3862 3863InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSADQCOM )].operands .push (OperandId ,"'Target Texture'" ); 3864InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSADQCOM )].operands .push (OperandId ,"'Target Coordinates'" ); 3865InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSADQCOM )].operands .push (OperandId ,"'Reference Texture'" ); 3866InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSADQCOM )].operands .push (OperandId ,"'Reference Coordinates'" ); 3867InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSADQCOM )].operands .push (OperandId ,"'Block Size'" ); 3868InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSADQCOM )].operands .push (OperandImageOperands ,"" , true); 3869InstructionDesc [enumCast (Op ::OpImageBlockMatchGatherSADQCOM )].setResultAndType (true, true); 3870 3871InstructionDesc [enumCast (Op ::OpImageGatherQCOM )].operands .push (OperandId ,"'Sampled Image'" ); 3872InstructionDesc [enumCast (Op ::OpImageGatherQCOM )].operands .push (OperandId ,"'Coordinate'" ); 3873InstructionDesc [enumCast (Op ::OpImageGatherQCOM )].operands .push (OperandId ,"'Component'" ); 3874InstructionDesc [enumCast (Op ::OpImageGatherQCOM )].operands .push (OperandId ,"'Mode'" ); 3875InstructionDesc [enumCast (Op ::OpImageGatherQCOM )].operands .push (OperandImageOperands ,"" , true); 3876InstructionDesc [enumCast (Op ::OpImageGatherQCOM )].operands .push (OperandVariableIds ,"" , true); 3877InstructionDesc [enumCast (Op ::OpImageGatherQCOM )].setResultAndType (true, true); 3878 3879InstructionDesc [enumCast (Op ::OpBitCastArrayQCOM )].operands .push (OperandId ,"'source array'" ); 3880InstructionDesc [enumCast (Op ::OpBitCastArrayQCOM )].setResultAndType (true, true); 3881 3882InstructionDesc [enumCast (Op ::OpCompositeConstructCoopMatQCOM )].operands .push (OperandId ,"'source array'" ); 3883InstructionDesc [enumCast (Op ::OpCompositeConstructCoopMatQCOM )].setResultAndType (true, true); 3884 3885InstructionDesc [enumCast (Op ::OpCompositeExtractCoopMatQCOM )].operands .push (OperandId ,"'source cooperative matrix'" ); 3886InstructionDesc [enumCast (Op ::OpCompositeExtractCoopMatQCOM )].setResultAndType (true, true); 3887 3888InstructionDesc [enumCast (Op ::OpExtractSubArrayQCOM )].operands .push (OperandId ,"'source array'" ); 3889InstructionDesc [enumCast (Op ::OpExtractSubArrayQCOM )].operands .push (OperandId ,"'start index'" ); 3890InstructionDesc [enumCast (Op ::OpExtractSubArrayQCOM )].setResultAndType (true, true); 3891 3892InstructionDesc [enumCast (Op ::OpConstantCompositeReplicateEXT )].operands .push (OperandId ,"'Value'" ); 3893InstructionDesc [enumCast (Op ::OpSpecConstantCompositeReplicateEXT )].operands .push (OperandId ,"'Value'" ); 3894InstructionDesc [enumCast (Op ::OpCompositeConstructReplicateEXT )].operands .push (OperandId ,"'Value'" ); 3895 3896InstructionDesc [enumCast (Op ::OpCooperativeMatrixConvertNV )].operands .push (OperandId ,"'Value'" ); 3897 3898InstructionDesc [enumCast (Op ::OpCooperativeMatrixTransposeNV )].operands .push (OperandId ,"'Matrix'" ); 3899 3900InstructionDesc [enumCast (Op ::OpCooperativeMatrixReduceNV )].operands .push (OperandId ,"'Matrix'" ); 3901InstructionDesc [enumCast (Op ::OpCooperativeMatrixReduceNV )].operands .push (OperandLiteralNumber ,"'ReduceMask'" ); 3902InstructionDesc [enumCast (Op ::OpCooperativeMatrixReduceNV )].operands .push (OperandId ,"'CombineFunc'" ); 3903 3904InstructionDesc [enumCast (Op ::OpCooperativeMatrixPerElementOpNV )].operands .push (OperandId ,"'Matrix'" ); 3905InstructionDesc [enumCast (Op ::OpCooperativeMatrixPerElementOpNV )].operands .push (OperandId ,"'Operation'" ); 3906InstructionDesc [enumCast (Op ::OpCooperativeMatrixPerElementOpNV )].operands .push (OperandVariableIds ,"'Operands'" ); 3907 3908InstructionDesc [enumCast (Op ::OpCooperativeMatrixGetCoordinateEXT )].operands .push (OperandId ,"'Matrix'" ); 3909InstructionDesc [enumCast (Op ::OpCooperativeMatrixGetCoordinateEXT )].operands .push (OperandId ,"'Index'" ); 3910 3911InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadTensorNV )].operands .push (OperandId ,"'Pointer'" ); 3912InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadTensorNV )].operands .push (OperandId ,"'Object'" ); 3913InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadTensorNV )].operands .push (OperandId ,"'TensorLayout'" ); 3914InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadTensorNV )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3915InstructionDesc [enumCast (Op ::OpCooperativeMatrixLoadTensorNV )].operands .push (OperandTensorAddressingOperands ,"'Tensor Addressing Operands'" ); 3916 3917InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreTensorNV )].operands .push (OperandId ,"'Pointer'" ); 3918InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreTensorNV )].operands .push (OperandId ,"'Object'" ); 3919InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreTensorNV )].operands .push (OperandId ,"'TensorLayout'" ); 3920InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreTensorNV )].operands .push (OperandMemoryAccess ,"'Memory Access'" ); 3921InstructionDesc [enumCast (Op ::OpCooperativeMatrixStoreTensorNV )].operands .push (OperandTensorAddressingOperands ,"'Tensor Addressing Operands'" ); 3922 3923InstructionDesc [enumCast (Op ::OpCooperativeMatrixReduceNV )].operands .push (OperandId ,"'Matrix'" ); 3924InstructionDesc [enumCast (Op ::OpCooperativeMatrixReduceNV )].operands .push (OperandLiteralNumber ,"'ReduceMask'" ); 3925 3926InstructionDesc [enumCast (Op ::OpTypeTensorLayoutNV )].operands .push (OperandId ,"'Dim'" ); 3927InstructionDesc [enumCast (Op ::OpTypeTensorLayoutNV )].operands .push (OperandId ,"'ClampMode'" ); 3928 3929InstructionDesc [enumCast (Op ::OpTypeTensorViewNV )].operands .push (OperandId ,"'Dim'" ); 3930InstructionDesc [enumCast (Op ::OpTypeTensorViewNV )].operands .push (OperandId ,"'HasDimensions'" ); 3931InstructionDesc [enumCast (Op ::OpTypeTensorViewNV )].operands .push (OperandVariableIds ,"'p'" ); 3932 3933InstructionDesc [enumCast (Op ::OpTensorLayoutSetBlockSizeNV )].operands .push (OperandId ,"'TensorLayout'" ); 3934InstructionDesc [enumCast (Op ::OpTensorLayoutSetBlockSizeNV )].operands .push (OperandVariableIds ,"'BlockSize'" ); 3935 3936InstructionDesc [enumCast (Op ::OpTensorLayoutSetDimensionNV )].operands .push (OperandId ,"'TensorLayout'" ); 3937InstructionDesc [enumCast (Op ::OpTensorLayoutSetDimensionNV )].operands .push (OperandVariableIds ,"'Dim'" ); 3938 3939InstructionDesc [enumCast (Op ::OpTensorLayoutSetStrideNV )].operands .push (OperandId ,"'TensorLayout'" ); 3940InstructionDesc [enumCast (Op ::OpTensorLayoutSetStrideNV )].operands .push (OperandVariableIds ,"'Stride'" ); 3941 3942InstructionDesc [enumCast (Op ::OpTensorLayoutSliceNV )].operands .push (OperandId ,"'TensorLayout'" ); 3943InstructionDesc [enumCast (Op ::OpTensorLayoutSliceNV )].operands .push (OperandVariableIds ,"'Operands'" ); 3944 3945InstructionDesc [enumCast (Op ::OpTensorLayoutSetClampValueNV )].operands .push (OperandId ,"'TensorLayout'" ); 3946InstructionDesc [enumCast (Op ::OpTensorLayoutSetClampValueNV )].operands .push (OperandId ,"'Value'" ); 3947 3948InstructionDesc [enumCast (Op ::OpTensorViewSetDimensionNV )].operands .push (OperandId ,"'TensorView'" ); 3949InstructionDesc [enumCast (Op ::OpTensorViewSetDimensionNV )].operands .push (OperandVariableIds ,"'Dim'" ); 3950 3951InstructionDesc [enumCast (Op ::OpTensorViewSetStrideNV )].operands .push (OperandId ,"'TensorView'" ); 3952InstructionDesc [enumCast (Op ::OpTensorViewSetStrideNV )].operands .push (OperandVariableIds ,"'Stride'" ); 3953 3954InstructionDesc [enumCast (Op ::OpTensorViewSetClipNV )].operands .push (OperandId ,"'TensorView'" ); 3955InstructionDesc [enumCast (Op ::OpTensorViewSetClipNV )].operands .push (OperandId ,"'ClipRowOffset'" ); 3956InstructionDesc [enumCast (Op ::OpTensorViewSetClipNV )].operands .push (OperandId ,"'ClipRowSpan'" ); 3957InstructionDesc [enumCast (Op ::OpTensorViewSetClipNV )].operands .push (OperandId ,"'ClipColOffset'" ); 3958InstructionDesc [enumCast (Op ::OpTensorViewSetClipNV )].operands .push (OperandId ,"'ClipColSpan'" ); 3959 3960InstructionDesc [enumCast (Op ::OpSDotKHR )].operands .push (OperandId ,"'Vector1'" ); 3961InstructionDesc [enumCast (Op ::OpSDotKHR )].operands .push (OperandId ,"'Vector2'" ); 3962InstructionDesc [enumCast (Op ::OpSDotKHR )].operands .push (OperandLiteralNumber ,"'PackedVectorFormat'" ); 3963 3964InstructionDesc [enumCast (Op ::OpUDotKHR )].operands .push (OperandId ,"'Vector1'" ); 3965InstructionDesc [enumCast (Op ::OpUDotKHR )].operands .push (OperandId ,"'Vector2'" ); 3966InstructionDesc [enumCast (Op ::OpUDotKHR )].operands .push (OperandLiteralNumber ,"'PackedVectorFormat'" ); 3967 3968InstructionDesc [enumCast (Op ::OpSUDotKHR )].operands .push (OperandId ,"'Vector1'" ); 3969InstructionDesc [enumCast (Op ::OpSUDotKHR )].operands .push (OperandId ,"'Vector2'" ); 3970InstructionDesc [enumCast (Op ::OpSUDotKHR )].operands .push (OperandLiteralNumber ,"'PackedVectorFormat'" ); 3971 3972InstructionDesc [enumCast (Op ::OpSDotAccSatKHR )].operands .push (OperandId ,"'Vector1'" ); 3973InstructionDesc [enumCast (Op ::OpSDotAccSatKHR )].operands .push (OperandId ,"'Vector2'" ); 3974InstructionDesc [enumCast (Op ::OpSDotAccSatKHR )].operands .push (OperandId ,"'Accumulator'" ); 3975InstructionDesc [enumCast (Op ::OpSDotAccSatKHR )].operands .push (OperandLiteralNumber ,"'PackedVectorFormat'" ); 3976 3977InstructionDesc [enumCast (Op ::OpUDotAccSatKHR )].operands .push (OperandId ,"'Vector1'" ); 3978InstructionDesc [enumCast (Op ::OpUDotAccSatKHR )].operands .push (OperandId ,"'Vector2'" ); 3979InstructionDesc [enumCast (Op ::OpUDotAccSatKHR )].operands .push (OperandId ,"'Accumulator'" ); 3980InstructionDesc [enumCast (Op ::OpUDotAccSatKHR )].operands .push (OperandLiteralNumber ,"'PackedVectorFormat'" ); 3981 3982InstructionDesc [enumCast (Op ::OpSUDotAccSatKHR )].operands .push (OperandId ,"'Vector1'" ); 3983InstructionDesc [enumCast (Op ::OpSUDotAccSatKHR )].operands .push (OperandId ,"'Vector2'" ); 3984InstructionDesc [enumCast (Op ::OpSUDotAccSatKHR )].operands .push (OperandId ,"'Accumulator'" ); 3985InstructionDesc [enumCast (Op ::OpSUDotAccSatKHR )].operands .push (OperandLiteralNumber ,"'PackedVectorFormat'" ); 3986 3987InstructionDesc [enumCast (Op ::OpTypeTensorARM )].operands .push (OperandId ,"'Element Type'" ); 3988InstructionDesc [enumCast (Op ::OpTypeTensorARM )].operands .push (OperandId ,"'Rank'" ); 3989 3990InstructionDesc [enumCast (Op ::OpTensorReadARM )].operands .push (OperandId ,"'Tensor'" ); 3991InstructionDesc [enumCast (Op ::OpTensorReadARM )].operands .push (OperandId ,"'Coordinate'" ); 3992InstructionDesc [enumCast (Op ::OpTensorReadARM )].operands .push (OperandLiteralNumber ,"'Tensor Operand'" , true); 3993InstructionDesc [enumCast (Op ::OpTensorReadARM )].operands .push (OperandVariableIds ,"'Tensor Operands'" ); 3994 3995InstructionDesc [enumCast (Op ::OpTensorWriteARM )].operands .push (OperandId ,"'Tensor'" ); 3996InstructionDesc [enumCast (Op ::OpTensorWriteARM )].operands .push (OperandId ,"'Coordinate'" ); 3997InstructionDesc [enumCast (Op ::OpTensorWriteARM )].operands .push (OperandId ,"'Object'" ); 3998InstructionDesc [enumCast (Op ::OpTensorWriteARM )].operands .push (OperandLiteralNumber ,"'Tensor Operand'" , true); 3999InstructionDesc [enumCast (Op ::OpTensorWriteARM )].operands .push (OperandVariableIds ,"'Tensor Operands'" ); 4000 4001InstructionDesc [enumCast (Op ::OpTensorQuerySizeARM )].operands .push (OperandId ,"'Tensor'" ); 4002InstructionDesc [enumCast (Op ::OpTensorQuerySizeARM )].operands .push (OperandId ,"'Dimension'" , true); 4003 4004InstructionDesc [enumCast (Op ::OpTypeHitObjectEXT )].setResultAndType (true, false); 4005 4006InstructionDesc [enumCast (Op ::OpHitObjectGetShaderRecordBufferHandleNV )].operands .push (OperandId ,"'HitObject'" ); 4007InstructionDesc [enumCast (Op ::OpHitObjectGetShaderRecordBufferHandleNV )].setResultAndType (true, true); 4008 4009InstructionDesc [enumCast (Op ::OpHitObjectGetShaderRecordBufferHandleEXT )].operands .push (OperandId ,"'HitObject'" ); 4010InstructionDesc [enumCast (Op ::OpHitObjectGetShaderRecordBufferHandleEXT )].setResultAndType (true, true); 4011 4012InstructionDesc [enumCast (Op ::OpReorderThreadWithHintEXT )].operands .push (OperandId ,"'Hint'" ); 4013InstructionDesc [enumCast (Op ::OpReorderThreadWithHintEXT )].operands .push (OperandId ,"'Bits'" ); 4014InstructionDesc [enumCast (Op ::OpReorderThreadWithHintEXT )].setResultAndType (false, false); 4015 4016InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectEXT )].operands .push (OperandId ,"'HitObject'" ); 4017InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectEXT )].operands .push (OperandId ,"'Hint'" ); 4018InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectEXT )].operands .push (OperandId ,"'Bits'" ); 4019InstructionDesc [enumCast (Op ::OpReorderThreadWithHitObjectEXT )].setResultAndType (false, false); 4020 4021InstructionDesc [enumCast (Op ::OpHitObjectGetCurrentTimeEXT )].operands .push (OperandId ,"'HitObject'" ); 4022InstructionDesc [enumCast (Op ::OpHitObjectGetCurrentTimeEXT )].setResultAndType (true, true); 4023 4024InstructionDesc [enumCast (Op ::OpHitObjectGetHitKindEXT )].operands .push (OperandId ,"'HitObject'" ); 4025InstructionDesc [enumCast (Op ::OpHitObjectGetHitKindEXT )].setResultAndType (true, true); 4026 4027InstructionDesc [enumCast (Op ::OpHitObjectGetPrimitiveIndexEXT )].operands .push (OperandId ,"'HitObject'" ); 4028InstructionDesc [enumCast (Op ::OpHitObjectGetPrimitiveIndexEXT )].setResultAndType (true, true); 4029 4030InstructionDesc [enumCast (Op ::OpHitObjectGetGeometryIndexEXT )].operands .push (OperandId ,"'HitObject'" ); 4031InstructionDesc [enumCast (Op ::OpHitObjectGetGeometryIndexEXT )].setResultAndType (true, true); 4032 4033InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceIdEXT )].operands .push (OperandId ,"'HitObject'" ); 4034InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceIdEXT )].setResultAndType (true, true); 4035 4036InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceCustomIndexEXT )].operands .push (OperandId ,"'HitObject'" ); 4037InstructionDesc [enumCast (Op ::OpHitObjectGetInstanceCustomIndexEXT )].setResultAndType (true, true); 4038 4039InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayDirectionEXT )].operands .push (OperandId ,"'HitObject'" ); 4040InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayDirectionEXT )].setResultAndType (true, true); 4041 4042InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayOriginEXT )].operands .push (OperandId ,"'HitObject'" ); 4043InstructionDesc [enumCast (Op ::OpHitObjectGetObjectRayOriginEXT )].setResultAndType (true, true); 4044 4045InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayDirectionEXT )].operands .push (OperandId ,"'HitObject'" ); 4046InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayDirectionEXT )].setResultAndType (true, true); 4047 4048InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayOriginEXT )].operands .push (OperandId ,"'HitObject'" ); 4049InstructionDesc [enumCast (Op ::OpHitObjectGetWorldRayOriginEXT )].setResultAndType (true, true); 4050 4051InstructionDesc [enumCast (Op ::OpHitObjectGetWorldToObjectEXT )].operands .push (OperandId ,"'HitObject'" ); 4052InstructionDesc [enumCast (Op ::OpHitObjectGetWorldToObjectEXT )].setResultAndType (true, true); 4053 4054InstructionDesc [enumCast (Op ::OpHitObjectGetObjectToWorldEXT )].operands .push (OperandId ,"'HitObject'" ); 4055InstructionDesc [enumCast (Op ::OpHitObjectGetObjectToWorldEXT )].setResultAndType (true, true); 4056 4057InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMaxEXT )].operands .push (OperandId ,"'HitObject'" ); 4058InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMaxEXT )].setResultAndType (true, true); 4059 4060InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMinEXT )].operands .push (OperandId ,"'HitObject'" ); 4061InstructionDesc [enumCast (Op ::OpHitObjectGetRayTMinEXT )].setResultAndType (true, true); 4062 4063InstructionDesc [enumCast (Op ::OpHitObjectGetRayFlagsEXT )].operands .push (OperandId ,"'HitObject'" ); 4064InstructionDesc [enumCast (Op ::OpHitObjectGetRayFlagsEXT )].setResultAndType (true, true); 4065 4066InstructionDesc [enumCast (Op ::OpHitObjectGetShaderBindingTableRecordIndexEXT )].operands .push (OperandId ,"'HitObject'" ); 4067InstructionDesc [enumCast (Op ::OpHitObjectGetShaderBindingTableRecordIndexEXT )].setResultAndType (true, true); 4068 4069InstructionDesc [enumCast (Op ::OpHitObjectIsEmptyEXT )].operands .push (OperandId ,"'HitObject'" ); 4070InstructionDesc [enumCast (Op ::OpHitObjectIsEmptyEXT )].setResultAndType (true, true); 4071 4072InstructionDesc [enumCast (Op ::OpHitObjectIsHitEXT )].operands .push (OperandId ,"'HitObject'" ); 4073InstructionDesc [enumCast (Op ::OpHitObjectIsHitEXT )].setResultAndType (true, true); 4074 4075InstructionDesc [enumCast (Op ::OpHitObjectIsMissEXT )].operands .push (OperandId ,"'HitObject'" ); 4076InstructionDesc [enumCast (Op ::OpHitObjectIsMissEXT )].setResultAndType (true, true); 4077 4078InstructionDesc [enumCast (Op ::OpHitObjectGetAttributesEXT )].operands .push (OperandId ,"'HitObject'" ); 4079InstructionDesc [enumCast (Op ::OpHitObjectGetAttributesEXT )].operands .push (OperandId ,"'HitObjectAttribute'" ); 4080InstructionDesc [enumCast (Op ::OpHitObjectGetAttributesEXT )].setResultAndType (false, false); 4081 4082InstructionDesc [enumCast (Op ::OpHitObjectExecuteShaderEXT )].operands .push (OperandId ,"'HitObject'" ); 4083InstructionDesc [enumCast (Op ::OpHitObjectExecuteShaderEXT )].operands .push (OperandId ,"'Payload'" ); 4084InstructionDesc [enumCast (Op ::OpHitObjectExecuteShaderEXT )].setResultAndType (false, false); 4085 4086InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].operands .push (OperandId ,"'HitObject'" ); 4087InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].operands .push (OperandId ,"'RayFlags'" ); 4088InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].operands .push (OperandId ,"'SBT Index'" ); 4089InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].operands .push (OperandId ,"'Origin'" ); 4090InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].operands .push (OperandId ,"'TMin'" ); 4091InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].operands .push (OperandId ,"'Direction'" ); 4092InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].operands .push (OperandId ,"'TMax'" ); 4093InstructionDesc [enumCast (Op ::OpHitObjectRecordMissEXT )].setResultAndType (false, false); 4094 4095InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'HitObject'" ); 4096InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'RayFlags'" ); 4097InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'SBT Index'" ); 4098InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'Origin'" ); 4099InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'TMin'" ); 4100InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'Direction'" ); 4101InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'TMax'" ); 4102InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].operands .push (OperandId ,"'Current Time'" ); 4103InstructionDesc [enumCast (Op ::OpHitObjectRecordMissMotionEXT )].setResultAndType (false, false); 4104 4105InstructionDesc [enumCast (Op ::OpHitObjectRecordEmptyEXT )].operands .push (OperandId ,"'HitObject'" ); 4106InstructionDesc [enumCast (Op ::OpHitObjectRecordEmptyEXT )].setResultAndType (false, false); 4107 4108InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'HitObject'" ); 4109InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'Acceleration Structure'" ); 4110InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'RayFlags'" ); 4111InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'Cullmask'" ); 4112InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'SBT Record Offset'" ); 4113InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'SBT Record Stride'" ); 4114InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'Miss Index'" ); 4115InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'Origin'" ); 4116InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'TMin'" ); 4117InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'Direction'" ); 4118InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'TMax'" ); 4119InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].operands .push (OperandId ,"'Payload'" ); 4120InstructionDesc [enumCast (Op ::OpHitObjectTraceRayEXT )].setResultAndType (false, false); 4121 4122InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'HitObject'" ); 4123InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'Acceleration Structure'" ); 4124InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'RayFlags'" ); 4125InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'Cullmask'" ); 4126InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'SBT Record Offset'" ); 4127InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'SBT Record Stride'" ); 4128InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'Miss Index'" ); 4129InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'Origin'" ); 4130InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'TMin'" ); 4131InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'Direction'" ); 4132InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'TMax'" ); 4133InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'Time'" ); 4134InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].operands .push (OperandId ,"'Payload'" ); 4135InstructionDesc [enumCast (Op ::OpHitObjectTraceRayMotionEXT )].setResultAndType (false, false); 4136 4137InstructionDesc [enumCast (Op ::OpHitObjectSetShaderBindingTableRecordIndexEXT )].operands .push (OperandId ,"'HitObject'" ); 4138InstructionDesc [enumCast (Op ::OpHitObjectSetShaderBindingTableRecordIndexEXT )].operands .push (OperandId ,"'SBT Record Index'" ); 4139InstructionDesc [enumCast (Op ::OpHitObjectSetShaderBindingTableRecordIndexEXT )].setResultAndType (false, false); 4140 4141InstructionDesc [enumCast (Op ::OpHitObjectReorderExecuteShaderEXT )].operands .push (OperandId ,"'HitObject'" ); 4142InstructionDesc [enumCast (Op ::OpHitObjectReorderExecuteShaderEXT )].operands .push (OperandId ,"'Payload'" ); 4143InstructionDesc [enumCast (Op ::OpHitObjectReorderExecuteShaderEXT )].operands .push (OperandId ,"'Hint'" ); 4144InstructionDesc [enumCast (Op ::OpHitObjectReorderExecuteShaderEXT )].operands .push (OperandId ,"'Bits'" ); 4145InstructionDesc [enumCast (Op ::OpHitObjectReorderExecuteShaderEXT )].setResultAndType (false, false); 4146 4147InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'HitObject'" ); 4148InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Acceleration Structure'" ); 4149InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'RayFlags'" ); 4150InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Cullmask'" ); 4151InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'SBT Record Offset'" ); 4152InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'SBT Record Stride'" ); 4153InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Miss Index'" ); 4154InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Origin'" ); 4155InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'TMin'" ); 4156InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Direction'" ); 4157InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'TMax'" ); 4158InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Payload'" ); 4159InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Hint'" ); 4160InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].operands .push (OperandId ,"'Bits'" ); 4161InstructionDesc [enumCast (Op ::OpHitObjectTraceReorderExecuteEXT )].setResultAndType (false, false); 4162 4163InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'HitObject'" ); 4164InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Acceleration Structure'" ); 4165InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'RayFlags'" ); 4166InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Cullmask'" ); 4167InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'SBT Record Offset'" ); 4168InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'SBT Record Stride'" ); 4169InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Miss Index'" ); 4170InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Origin'" ); 4171InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'TMin'" ); 4172InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Direction'" ); 4173InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'TMax'" ); 4174InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Time'" ); 4175InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Payload'" ); 4176InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Hint'" ); 4177InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].operands .push (OperandId ,"'Bits'" ); 4178InstructionDesc [enumCast (Op ::OpHitObjectTraceMotionReorderExecuteEXT )].setResultAndType (false, false); 4179 4180InstructionDesc [enumCast (Op ::OpHitObjectRecordFromQueryEXT )].operands .push (OperandId ,"'HitObject'" ); 4181InstructionDesc [enumCast (Op ::OpHitObjectRecordFromQueryEXT )].operands .push (OperandId ,"'RayQuery'" ); 4182InstructionDesc [enumCast (Op ::OpHitObjectRecordFromQueryEXT )].operands .push (OperandId ,"'SBT Record Index'" ); 4183InstructionDesc [enumCast (Op ::OpHitObjectRecordFromQueryEXT )].operands .push (OperandId ,"'HitObjectAttribute'" ); 4184InstructionDesc [enumCast (Op ::OpHitObjectRecordFromQueryEXT )].operands .push (OperandId ,"'Hit Kind'" ); 4185InstructionDesc [enumCast (Op ::OpHitObjectRecordFromQueryEXT )].setResultAndType (false, false); 4186 4187InstructionDesc [enumCast (Op ::OpHitObjectGetIntersectionTriangleVertexPositionsEXT )].operands .push (OperandId ,"'HitObject'" ); 4188InstructionDesc [enumCast (Op ::OpHitObjectGetIntersectionTriangleVertexPositionsEXT )].setResultAndType (true, true); 4189 4190InstructionDesc [enumCast (Op ::OpBitcastExtractEXT )].operands .push (OperandId ,"'Base'" ); 4191InstructionDesc [enumCast (Op ::OpBitcastExtractEXT )].operands .push (OperandId ,"'Offset'" ); 4192 4193InstructionDesc [enumCast (Op ::OpControlBarrierArriveEXT )].operands .push (OperandScope ,"'Execution'" ); 4194InstructionDesc [enumCast (Op ::OpControlBarrierArriveEXT )].operands .push (OperandScope ,"'Memory'" ); 4195InstructionDesc [enumCast (Op ::OpControlBarrierArriveEXT )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 4196 4197InstructionDesc [enumCast (Op ::OpControlBarrierWaitEXT )].operands .push (OperandScope ,"'Execution'" ); 4198InstructionDesc [enumCast (Op ::OpControlBarrierWaitEXT )].operands .push (OperandScope ,"'Memory'" ); 4199InstructionDesc [enumCast (Op ::OpControlBarrierWaitEXT )].operands .push (OperandMemorySemantics ,"'Semantics'" ); 4200 }); 4201} 4202 4203}// end spv namespace