packages feed

spirv-reflect-types 0.2 → 0.3

raw patch · 22 files changed

+446/−2713 lines, 22 filesdep +spirv-enum

Dependencies added: spirv-enum

Files

ChangeLog.md view
@@ -1,11 +1,16 @@ # Changelog for spirv-reflect-types +## [0.3] - 2024-07-07++* Update types to accomodate `vulkan-sdk-1.3.283.0`.++[0.3]: https://gitlab.com/dpwiz/spirv-reflect/-/tree/v0.3-types+ ## [0.2] - 2022-09-04  * Update types to accomodate FFI loader.  [0.2]: https://gitlab.com/dpwiz/spirv-reflect/-/tree/v0.2-types-  ## [0.1] - 2022-06-11 
lib/Data/SpirV/Reflect/BlockVariable.hs view
@@ -1,5 +1,6 @@ module Data.SpirV.Reflect.BlockVariable   ( BlockVariable(..)+  , WordOffset(..)   ) where  import Data.Text (Text)@@ -23,5 +24,11 @@   , array            :: Traits.Array   , members          :: Vector BlockVariable   , type_description :: Maybe TypeDescription+  , word_offset      :: Maybe WordOffset+  }+  deriving (Eq, Show, Generic)++newtype WordOffset = WordOffset+  { offset :: Word32   }   deriving (Eq, Show, Generic)
lib/Data/SpirV/Reflect/DescriptorBinding.hs view
@@ -4,6 +4,7 @@   ) where  import Data.Text (Text)+import Data.Vector (Vector) import Data.Word (Word32) import GHC.Generics (Generic) @@ -13,23 +14,25 @@ import Data.SpirV.Reflect.TypeDescription (TypeDescription)  data DescriptorBinding = DescriptorBinding-  { spirv_id               :: Maybe Word32-  , name                   :: Text-  , binding                :: Word32-  , input_attachment_index :: Word32-  , set                    :: Word32-  , descriptor_type        :: Enums.DescriptorType-  , resource_type          :: Enums.ResourceFlags-  , image                  :: Traits.Image-  , block                  :: Maybe BlockVariable-  , array                  :: Traits.Array-  , count                  :: Maybe Word32-  , accessed               :: Word32-  , uav_counter_id         :: Word32-  , uav_counter_binding    :: Maybe DescriptorBinding-  , type_description       :: Maybe TypeDescription-  , word_offset            :: WordOffset-  , decoration_flags       :: Enums.DecorationFlags+  { spirv_id                    :: Maybe Word32+  , name                        :: Text+  , binding                     :: Word32+  , input_attachment_index      :: Word32+  , set                         :: Word32+  , descriptor_type             :: Enums.DescriptorType+  , resource_type               :: Enums.ResourceFlags+  , image                       :: Traits.Image+  , block                       :: Maybe BlockVariable+  , array                       :: Traits.Array+  , count                       :: Maybe Word32+  , accessed                    :: Word32+  , uav_counter_id              :: Word32+  , uav_counter_binding         :: Maybe DescriptorBinding+  , byte_address_buffer_offsets :: Vector Word32+  , type_description            :: Maybe TypeDescription+  , word_offset                 :: WordOffset+  , decoration_flags            :: Enums.DecorationFlags+  , user_type                   :: Maybe Enums.UserType   }   deriving (Eq, Show, Generic) 
lib/Data/SpirV/Reflect/Enums.hs view
@@ -8,12 +8,8 @@   , module Data.SpirV.Reflect.Enums.ResourceFlags   , module Data.SpirV.Reflect.Enums.Result   , module Data.SpirV.Reflect.Enums.ShaderStage-  , module Data.SpirV.Reflect.Enums.SpirvBuiltin-  , module Data.SpirV.Reflect.Enums.SpirvDim-  , module Data.SpirV.Reflect.Enums.SpirvImageFormat-  , module Data.SpirV.Reflect.Enums.SpirvOp-  , module Data.SpirV.Reflect.Enums.SpirvStorageClass   , module Data.SpirV.Reflect.Enums.TypeFlags+  , module Data.SpirV.Reflect.Enums.UserType   ) where  import Data.SpirV.Reflect.Enums.Common@@ -25,9 +21,5 @@ import Data.SpirV.Reflect.Enums.ResourceFlags import Data.SpirV.Reflect.Enums.Result import Data.SpirV.Reflect.Enums.ShaderStage-import Data.SpirV.Reflect.Enums.SpirvBuiltin-import Data.SpirV.Reflect.Enums.SpirvDim-import Data.SpirV.Reflect.Enums.SpirvImageFormat-import Data.SpirV.Reflect.Enums.SpirvOp-import Data.SpirV.Reflect.Enums.SpirvStorageClass import Data.SpirV.Reflect.Enums.TypeFlags+import Data.SpirV.Reflect.Enums.UserType
lib/Data/SpirV/Reflect/Enums/DecorationFlags.hs view
@@ -39,3 +39,18 @@  pattern DECORATION_NON_READABLE :: DecorationFlagBits pattern DECORATION_NON_READABLE = DecorationFlagBits 0x00000200++pattern DECORATION_PATCH :: DecorationFlagBits+pattern DECORATION_PATCH = DecorationFlagBits 0x00000400++pattern DECORATION_PER_VERTEX :: DecorationFlagBits+pattern DECORATION_PER_VERTEX = DecorationFlagBits 0x00000800++pattern DECORATION_PER_TASK :: DecorationFlagBits+pattern DECORATION_PER_TASK = DecorationFlagBits 0x00001000++pattern DECORATION_WEIGHT_TEXTURE :: DecorationFlagBits+pattern DECORATION_WEIGHT_TEXTURE = DecorationFlagBits 0x00002000++pattern DECORATION_BLOCK_MATCH_TEXTURE :: DecorationFlagBits+pattern DECORATION_BLOCK_MATCH_TEXTURE = DecorationFlagBits 0x00004000
lib/Data/SpirV/Reflect/Enums/Format.hs view
@@ -8,6 +8,42 @@ pattern FORMAT_UNDEFINED :: Format pattern FORMAT_UNDEFINED = Format 0 +pattern FORMAT_R16_UINT :: Format+pattern FORMAT_R16_UINT = Format 74++pattern FORMAT_R16_SINT :: Format+pattern FORMAT_R16_SINT = Format 75++pattern FORMAT_R16_SFLOAT :: Format+pattern FORMAT_R16_SFLOAT = Format 76++pattern FORMAT_R16G16_UINT :: Format+pattern FORMAT_R16G16_UINT = Format 81++pattern FORMAT_R16G16_SINT :: Format+pattern FORMAT_R16G16_SINT = Format 82++pattern FORMAT_R16G16_SFLOAT :: Format+pattern FORMAT_R16G16_SFLOAT = Format 83++pattern FORMAT_R16G16B16_UINT :: Format+pattern FORMAT_R16G16B16_UINT = Format 88++pattern FORMAT_R16G16B16_SINT :: Format+pattern FORMAT_R16G16B16_SINT = Format 89++pattern FORMAT_R16G16B16_SFLOAT :: Format+pattern FORMAT_R16G16B16_SFLOAT = Format 90++pattern FORMAT_R16G16B16A16_UINT :: Format+pattern FORMAT_R16G16B16A16_UINT = Format 95++pattern FORMAT_R16G16B16A16_SINT :: Format+pattern FORMAT_R16G16B16A16_SINT = Format 96++pattern FORMAT_R16G16B16A16_SFLOAT :: Format+pattern FORMAT_R16G16B16A16_SFLOAT = Format 97+ pattern FORMAT_R32_UINT :: Format pattern FORMAT_R32_UINT = Format 98 @@ -86,6 +122,18 @@ formatNames :: IsString label => [(Format, label)] formatNames =   [ (FORMAT_UNDEFINED, "UNDEFINED")+  , (FORMAT_R16_UINT, "FORMAT_R16_UINT")+  , (FORMAT_R16_SINT, "FORMAT_R16_SINT")+  , (FORMAT_R16_SFLOAT, "FORMAT_R16_SFLOAT")+  , (FORMAT_R16G16_UINT, "FORMAT_R16G16_UINT")+  , (FORMAT_R16G16_SINT, "FORMAT_R16G16_SINT")+  , (FORMAT_R16G16_SFLOAT, "FORMAT_R16G16_SFLOAT")+  , (FORMAT_R16G16B16_UINT, "FORMAT_R16G16B16_UINT")+  , (FORMAT_R16G16B16_SINT, "FORMAT_R16G16B16_SINT")+  , (FORMAT_R16G16B16_SFLOAT, "FORMAT_R16G16B16_SFLOAT")+  , (FORMAT_R16G16B16A16_UINT, "FORMAT_R16G16B16A16_UINT")+  , (FORMAT_R16G16B16A16_SINT, "FORMAT_R16G16B16A16_SINT")+  , (FORMAT_R16G16B16A16_SFLOAT, "FORMAT_R16G16B16A16_SFLOAT")   , (FORMAT_R32_UINT, "R32_UINT")   , (FORMAT_R32_SINT, "R32_SINT")   , (FORMAT_R32_SFLOAT, "R32_SFLOAT")
lib/Data/SpirV/Reflect/Enums/Generator.hs view
@@ -1,5 +1,7 @@ module Data.SpirV.Reflect.Enums.Generator where +import Data.SpirV.Reflect.Enums.Common+ newtype Generator = Generator Int   deriving newtype (Eq, Ord, Show, Enum) @@ -32,3 +34,20 @@  pattern GENERATOR_CLAY_CLAY_SHADER_COMPILER :: Generator pattern GENERATOR_CLAY_CLAY_SHADER_COMPILER = Generator 19++generatorName :: IsString label => Generator -> Maybe label+generatorName = toLabel generatorNames++generatorNames :: IsString label => [(Generator, label)]+generatorNames =+  [ (GENERATOR_KHRONOS_LLVM_SPIRV_TRANSLATOR, "Khronos LLVM/SPIR-V Translator")+  , (GENERATOR_KHRONOS_SPIRV_TOOLS_ASSEMBLER, "Khronos SPIR-V Tools Assembler")+  , (GENERATOR_KHRONOS_GLSLANG_REFERENCE_FRONT_END, "Khronos Glslang Reference Front End")+  , (GENERATOR_GOOGLE_SHADERC_OVER_GLSLANG, "Google Shaderc over Glslang")+  , (GENERATOR_GOOGLE_SPIREGG, "Google spiregg")+  , (GENERATOR_GOOGLE_RSPIRV, "Google rspirv")+  , (GENERATOR_X_LEGEND_MESA_MESAIR_SPIRV_TRANSLATOR, "X-LEGEND Mesa-IR/SPIR-V Translator")+  , (GENERATOR_KHRONOS_SPIRV_TOOLS_LINKER, "Khronos SPIR-V Tools Linker")+  , (GENERATOR_WINE_VKD3D_SHADER_COMPILER, "Wine VKD3D Shader Compiler")+  , (GENERATOR_CLAY_CLAY_SHADER_COMPILER, "Clay Clay Shader Compiler")+  ]
lib/Data/SpirV/Reflect/Enums/Result.hs view
@@ -22,4 +22,5 @@   | ERROR_SPIRV_INVALID_BLOCK_MEMBER_REFERENCE   | ERROR_SPIRV_INVALID_ENTRY_POINT   | ERROR_SPIRV_INVALID_EXECUTION_MODE+  | SPV_REFLECT_RESULT_ERROR_SPIRV_MAX_RECURSIVE_EXCEEDED   deriving (Eq, Ord, Show, Enum, Bounded)
lib/Data/SpirV/Reflect/Enums/ShaderStage.hs view
@@ -30,8 +30,14 @@ pattern SHADER_STAGE_TASK_BIT_NV :: ShaderStageFlagBits pattern SHADER_STAGE_TASK_BIT_NV = ShaderStageFlagBits 0x00000040 +pattern SHADER_STAGE_TASK_BIT_EXT :: ShaderStageFlagBits+pattern SHADER_STAGE_TASK_BIT_EXT = SHADER_STAGE_TASK_BIT_NV -- = VK_SHADER_STAGE_CALLABLE_BIT_EXT+ pattern SHADER_STAGE_MESH_BIT_NV :: ShaderStageFlagBits pattern SHADER_STAGE_MESH_BIT_NV = ShaderStageFlagBits 0x00000080++pattern SHADER_STAGE_MESH_BIT_EXT :: ShaderStageFlagBits+pattern SHADER_STAGE_MESH_BIT_EXT = SHADER_STAGE_MESH_BIT_NV -- = VK_SHADER_STAGE_CALLABLE_BIT_EXT  pattern SHADER_STAGE_RAYGEN_BIT_KHR :: ShaderStageFlagBits pattern SHADER_STAGE_RAYGEN_BIT_KHR = ShaderStageFlagBits 0x00000100
− lib/Data/SpirV/Reflect/Enums/SpirvBuiltin.hs
@@ -1,375 +0,0 @@-module Data.SpirV.Reflect.Enums.SpirvBuiltin where--import Data.SpirV.Reflect.Enums.Common--newtype BuiltIn = BuiltIn Int32-  deriving newtype (Eq, Ord, Show, Enum, Bounded)--pattern BuiltInPosition :: BuiltIn-pattern BuiltInPosition = BuiltIn 0--pattern BuiltInPointSize :: BuiltIn-pattern BuiltInPointSize = BuiltIn 1--pattern BuiltInClipDistance :: BuiltIn-pattern BuiltInClipDistance = BuiltIn 3--pattern BuiltInCullDistance :: BuiltIn-pattern BuiltInCullDistance = BuiltIn 4--pattern BuiltInVertexId :: BuiltIn-pattern BuiltInVertexId = BuiltIn 5--pattern BuiltInInstanceId :: BuiltIn-pattern BuiltInInstanceId = BuiltIn 6--pattern BuiltInPrimitiveId :: BuiltIn-pattern BuiltInPrimitiveId = BuiltIn 7--pattern BuiltInInvocationId :: BuiltIn-pattern BuiltInInvocationId = BuiltIn 8--pattern BuiltInLayer :: BuiltIn-pattern BuiltInLayer = BuiltIn 9--pattern BuiltInViewportIndex :: BuiltIn-pattern BuiltInViewportIndex = BuiltIn 10--pattern BuiltInTessLevelOuter :: BuiltIn-pattern BuiltInTessLevelOuter = BuiltIn 11--pattern BuiltInTessLevelInner :: BuiltIn-pattern BuiltInTessLevelInner = BuiltIn 12--pattern BuiltInTessCoord :: BuiltIn-pattern BuiltInTessCoord = BuiltIn 13--pattern BuiltInPatchVertices :: BuiltIn-pattern BuiltInPatchVertices = BuiltIn 14--pattern BuiltInFragCoord :: BuiltIn-pattern BuiltInFragCoord = BuiltIn 15--pattern BuiltInPointCoord :: BuiltIn-pattern BuiltInPointCoord = BuiltIn 16--pattern BuiltInFrontFacing :: BuiltIn-pattern BuiltInFrontFacing = BuiltIn 17--pattern BuiltInSampleId :: BuiltIn-pattern BuiltInSampleId = BuiltIn 18--pattern BuiltInSamplePosition :: BuiltIn-pattern BuiltInSamplePosition = BuiltIn 19--pattern BuiltInSampleMask :: BuiltIn-pattern BuiltInSampleMask = BuiltIn 20--pattern BuiltInFragDepth :: BuiltIn-pattern BuiltInFragDepth = BuiltIn 22--pattern BuiltInHelperInvocation :: BuiltIn-pattern BuiltInHelperInvocation = BuiltIn 23--pattern BuiltInNumWorkgroups :: BuiltIn-pattern BuiltInNumWorkgroups = BuiltIn 24--pattern BuiltInWorkgroupSize :: BuiltIn-pattern BuiltInWorkgroupSize = BuiltIn 25--pattern BuiltInWorkgroupId :: BuiltIn-pattern BuiltInWorkgroupId = BuiltIn 26--pattern BuiltInLocalInvocationId :: BuiltIn-pattern BuiltInLocalInvocationId = BuiltIn 27--pattern BuiltInGlobalInvocationId :: BuiltIn-pattern BuiltInGlobalInvocationId = BuiltIn 28--pattern BuiltInLocalInvocationIndex :: BuiltIn-pattern BuiltInLocalInvocationIndex = BuiltIn 29--pattern BuiltInWorkDim :: BuiltIn-pattern BuiltInWorkDim = BuiltIn 30--pattern BuiltInGlobalSize :: BuiltIn-pattern BuiltInGlobalSize = BuiltIn 31--pattern BuiltInEnqueuedWorkgroupSize :: BuiltIn-pattern BuiltInEnqueuedWorkgroupSize = BuiltIn 32--pattern BuiltInGlobalOffset :: BuiltIn-pattern BuiltInGlobalOffset = BuiltIn 33--pattern BuiltInGlobalLinearId :: BuiltIn-pattern BuiltInGlobalLinearId = BuiltIn 34--pattern BuiltInSubgroupSize :: BuiltIn-pattern BuiltInSubgroupSize = BuiltIn 36--pattern BuiltInSubgroupMaxSize :: BuiltIn-pattern BuiltInSubgroupMaxSize = BuiltIn 37--pattern BuiltInNumSubgroups :: BuiltIn-pattern BuiltInNumSubgroups = BuiltIn 38--pattern BuiltInNumEnqueuedSubgroups :: BuiltIn-pattern BuiltInNumEnqueuedSubgroups = BuiltIn 39--pattern BuiltInSubgroupId :: BuiltIn-pattern BuiltInSubgroupId = BuiltIn 40--pattern BuiltInSubgroupLocalInvocationId :: BuiltIn-pattern BuiltInSubgroupLocalInvocationId = BuiltIn 41--pattern BuiltInVertexIndex :: BuiltIn-pattern BuiltInVertexIndex = BuiltIn 42--pattern BuiltInInstanceIndex :: BuiltIn-pattern BuiltInInstanceIndex = BuiltIn 43--pattern BuiltInSubgroupEqMask :: BuiltIn-pattern BuiltInSubgroupEqMask = BuiltIn 4416--pattern BuiltInSubgroupEqMaskKHR :: BuiltIn-pattern BuiltInSubgroupEqMaskKHR = BuiltIn 4416--pattern BuiltInSubgroupGeMask :: BuiltIn-pattern BuiltInSubgroupGeMask = BuiltIn 4417--pattern BuiltInSubgroupGeMaskKHR :: BuiltIn-pattern BuiltInSubgroupGeMaskKHR = BuiltIn 4417--pattern BuiltInSubgroupGtMask :: BuiltIn-pattern BuiltInSubgroupGtMask = BuiltIn 4418--pattern BuiltInSubgroupGtMaskKHR :: BuiltIn-pattern BuiltInSubgroupGtMaskKHR = BuiltIn 4418--pattern BuiltInSubgroupLeMask :: BuiltIn-pattern BuiltInSubgroupLeMask = BuiltIn 4419--pattern BuiltInSubgroupLeMaskKHR :: BuiltIn-pattern BuiltInSubgroupLeMaskKHR = BuiltIn 4419--pattern BuiltInSubgroupLtMask :: BuiltIn-pattern BuiltInSubgroupLtMask = BuiltIn 4420--pattern BuiltInSubgroupLtMaskKHR :: BuiltIn-pattern BuiltInSubgroupLtMaskKHR = BuiltIn 4420--pattern BuiltInBaseVertex :: BuiltIn-pattern BuiltInBaseVertex = BuiltIn 4424--pattern BuiltInBaseInstance :: BuiltIn-pattern BuiltInBaseInstance = BuiltIn 4425--pattern BuiltInDrawIndex :: BuiltIn-pattern BuiltInDrawIndex = BuiltIn 4426--pattern BuiltInPrimitiveShadingRateKHR :: BuiltIn-pattern BuiltInPrimitiveShadingRateKHR = BuiltIn 4432--pattern BuiltInDeviceIndex :: BuiltIn-pattern BuiltInDeviceIndex = BuiltIn 4438--pattern BuiltInViewIndex :: BuiltIn-pattern BuiltInViewIndex = BuiltIn 4440--pattern BuiltInShadingRateKHR :: BuiltIn-pattern BuiltInShadingRateKHR = BuiltIn 4444--pattern BuiltInBaryCoordNoPerspAMD :: BuiltIn-pattern BuiltInBaryCoordNoPerspAMD = BuiltIn 4992--pattern BuiltInBaryCoordNoPerspCentroidAMD :: BuiltIn-pattern BuiltInBaryCoordNoPerspCentroidAMD = BuiltIn 4993--pattern BuiltInBaryCoordNoPerspSampleAMD :: BuiltIn-pattern BuiltInBaryCoordNoPerspSampleAMD = BuiltIn 4994--pattern BuiltInBaryCoordSmoothAMD :: BuiltIn-pattern BuiltInBaryCoordSmoothAMD = BuiltIn 4995--pattern BuiltInBaryCoordSmoothCentroidAMD :: BuiltIn-pattern BuiltInBaryCoordSmoothCentroidAMD = BuiltIn 4996--pattern BuiltInBaryCoordSmoothSampleAMD :: BuiltIn-pattern BuiltInBaryCoordSmoothSampleAMD = BuiltIn 4997--pattern BuiltInBaryCoordPullModelAMD :: BuiltIn-pattern BuiltInBaryCoordPullModelAMD = BuiltIn 4998--pattern BuiltInFragStencilRefEXT :: BuiltIn-pattern BuiltInFragStencilRefEXT = BuiltIn 5014--pattern BuiltInViewportMaskNV :: BuiltIn-pattern BuiltInViewportMaskNV = BuiltIn 5253--pattern BuiltInSecondaryPositionNV :: BuiltIn-pattern BuiltInSecondaryPositionNV = BuiltIn 5257--pattern BuiltInSecondaryViewportMaskNV :: BuiltIn-pattern BuiltInSecondaryViewportMaskNV = BuiltIn 5258--pattern BuiltInPositionPerViewNV :: BuiltIn-pattern BuiltInPositionPerViewNV = BuiltIn 5261--pattern BuiltInViewportMaskPerViewNV :: BuiltIn-pattern BuiltInViewportMaskPerViewNV = BuiltIn 5262--pattern BuiltInFullyCoveredEXT :: BuiltIn-pattern BuiltInFullyCoveredEXT = BuiltIn 5264--pattern BuiltInTaskCountNV :: BuiltIn-pattern BuiltInTaskCountNV = BuiltIn 5274--pattern BuiltInPrimitiveCountNV :: BuiltIn-pattern BuiltInPrimitiveCountNV = BuiltIn 5275--pattern BuiltInPrimitiveIndicesNV :: BuiltIn-pattern BuiltInPrimitiveIndicesNV = BuiltIn 5276--pattern BuiltInClipDistancePerViewNV :: BuiltIn-pattern BuiltInClipDistancePerViewNV = BuiltIn 5277--pattern BuiltInCullDistancePerViewNV :: BuiltIn-pattern BuiltInCullDistancePerViewNV = BuiltIn 5278--pattern BuiltInLayerPerViewNV :: BuiltIn-pattern BuiltInLayerPerViewNV = BuiltIn 5279--pattern BuiltInMeshViewCountNV :: BuiltIn-pattern BuiltInMeshViewCountNV = BuiltIn 5280--pattern BuiltInMeshViewIndicesNV :: BuiltIn-pattern BuiltInMeshViewIndicesNV = BuiltIn 5281--pattern BuiltInBaryCoordKHR :: BuiltIn-pattern BuiltInBaryCoordKHR = BuiltIn 5286--pattern BuiltInBaryCoordNV :: BuiltIn-pattern BuiltInBaryCoordNV = BuiltIn 5286--pattern BuiltInBaryCoordNoPerspKHR :: BuiltIn-pattern BuiltInBaryCoordNoPerspKHR = BuiltIn 5287--pattern BuiltInBaryCoordNoPerspNV :: BuiltIn-pattern BuiltInBaryCoordNoPerspNV = BuiltIn 5287--pattern BuiltInFragSizeEXT :: BuiltIn-pattern BuiltInFragSizeEXT = BuiltIn 5292--pattern BuiltInFragmentSizeNV :: BuiltIn-pattern BuiltInFragmentSizeNV = BuiltIn 5292--pattern BuiltInFragInvocationCountEXT :: BuiltIn-pattern BuiltInFragInvocationCountEXT = BuiltIn 5293--pattern BuiltInInvocationsPerPixelNV :: BuiltIn-pattern BuiltInInvocationsPerPixelNV = BuiltIn 5293--pattern BuiltInLaunchIdKHR :: BuiltIn-pattern BuiltInLaunchIdKHR = BuiltIn 5319--pattern BuiltInLaunchIdNV :: BuiltIn-pattern BuiltInLaunchIdNV = BuiltIn 5319--pattern BuiltInLaunchSizeKHR :: BuiltIn-pattern BuiltInLaunchSizeKHR = BuiltIn 5320--pattern BuiltInLaunchSizeNV :: BuiltIn-pattern BuiltInLaunchSizeNV = BuiltIn 5320--pattern BuiltInWorldRayOriginKHR :: BuiltIn-pattern BuiltInWorldRayOriginKHR = BuiltIn 5321--pattern BuiltInWorldRayOriginNV :: BuiltIn-pattern BuiltInWorldRayOriginNV = BuiltIn 5321--pattern BuiltInWorldRayDirectionKHR :: BuiltIn-pattern BuiltInWorldRayDirectionKHR = BuiltIn 5322--pattern BuiltInWorldRayDirectionNV :: BuiltIn-pattern BuiltInWorldRayDirectionNV = BuiltIn 5322--pattern BuiltInObjectRayOriginKHR :: BuiltIn-pattern BuiltInObjectRayOriginKHR = BuiltIn 5323--pattern BuiltInObjectRayOriginNV :: BuiltIn-pattern BuiltInObjectRayOriginNV = BuiltIn 5323--pattern BuiltInObjectRayDirectionKHR :: BuiltIn-pattern BuiltInObjectRayDirectionKHR = BuiltIn 5324--pattern BuiltInObjectRayDirectionNV :: BuiltIn-pattern BuiltInObjectRayDirectionNV = BuiltIn 5324--pattern BuiltInRayTminKHR :: BuiltIn-pattern BuiltInRayTminKHR = BuiltIn 5325--pattern BuiltInRayTminNV :: BuiltIn-pattern BuiltInRayTminNV = BuiltIn 5325--pattern BuiltInRayTmaxKHR :: BuiltIn-pattern BuiltInRayTmaxKHR = BuiltIn 5326--pattern BuiltInRayTmaxNV :: BuiltIn-pattern BuiltInRayTmaxNV = BuiltIn 5326--pattern BuiltInInstanceCustomIndexKHR :: BuiltIn-pattern BuiltInInstanceCustomIndexKHR = BuiltIn 5327--pattern BuiltInInstanceCustomIndexNV :: BuiltIn-pattern BuiltInInstanceCustomIndexNV = BuiltIn 5327--pattern BuiltInObjectToWorldKHR :: BuiltIn-pattern BuiltInObjectToWorldKHR = BuiltIn 5330--pattern BuiltInObjectToWorldNV :: BuiltIn-pattern BuiltInObjectToWorldNV = BuiltIn 5330--pattern BuiltInWorldToObjectKHR :: BuiltIn-pattern BuiltInWorldToObjectKHR = BuiltIn 5331--pattern BuiltInWorldToObjectNV :: BuiltIn-pattern BuiltInWorldToObjectNV = BuiltIn 5331--pattern BuiltInHitTNV :: BuiltIn-pattern BuiltInHitTNV = BuiltIn 5332--pattern BuiltInHitKindKHR :: BuiltIn-pattern BuiltInHitKindKHR = BuiltIn 5333--pattern BuiltInHitKindNV :: BuiltIn-pattern BuiltInHitKindNV = BuiltIn 5333--pattern BuiltInCurrentRayTimeNV :: BuiltIn-pattern BuiltInCurrentRayTimeNV = BuiltIn 5334--pattern BuiltInIncomingRayFlagsKHR :: BuiltIn-pattern BuiltInIncomingRayFlagsKHR = BuiltIn 5351--pattern BuiltInIncomingRayFlagsNV :: BuiltIn-pattern BuiltInIncomingRayFlagsNV = BuiltIn 5351--pattern BuiltInRayGeometryIndexKHR :: BuiltIn-pattern BuiltInRayGeometryIndexKHR = BuiltIn 5352--pattern BuiltInWarpsPerSMNV :: BuiltIn-pattern BuiltInWarpsPerSMNV = BuiltIn 5374--pattern BuiltInSMCountNV :: BuiltIn-pattern BuiltInSMCountNV = BuiltIn 5375--pattern BuiltInWarpIDNV :: BuiltIn-pattern BuiltInWarpIDNV = BuiltIn 5376--pattern BuiltInSMIDNV :: BuiltIn-pattern BuiltInSMIDNV = BuiltIn 5377--pattern BuiltInCullMaskKHR :: BuiltIn-pattern BuiltInCullMaskKHR = BuiltIn 6021--pattern BuiltInMax :: BuiltIn-pattern BuiltInMax = BuiltIn 0x7fffffff
− lib/Data/SpirV/Reflect/Enums/SpirvDim.hs
@@ -1,30 +0,0 @@-module Data.SpirV.Reflect.Enums.SpirvDim where--import Data.SpirV.Reflect.Enums.Common--newtype Dim = Dim Int32-  deriving newtype (Eq, Ord, Show, Enum, Bounded)--pattern Dim1D :: Dim-pattern Dim1D = Dim 0--pattern Dim2D :: Dim-pattern Dim2D = Dim 1--pattern Dim3D :: Dim-pattern Dim3D = Dim 2--pattern DimCube :: Dim-pattern DimCube = Dim 3--pattern DimRect :: Dim-pattern DimRect = Dim 4--pattern DimBuffer :: Dim-pattern DimBuffer = Dim 5--pattern DimSubpassData :: Dim-pattern DimSubpassData = Dim 6--pattern DimMax :: Dim-pattern DimMax = Dim 0x7fffffff
− lib/Data/SpirV/Reflect/Enums/SpirvImageFormat.hs
@@ -1,135 +0,0 @@-module Data.SpirV.Reflect.Enums.SpirvImageFormat where--import Data.SpirV.Reflect.Enums.Common--newtype ImageFormat = ImageFormat Int32-  deriving newtype (Eq, Ord, Show, Enum, Bounded)--pattern ImageFormatUnknown :: ImageFormat-pattern ImageFormatUnknown = ImageFormat 0--pattern ImageFormatRgba32f :: ImageFormat-pattern ImageFormatRgba32f = ImageFormat 1--pattern ImageFormatRgba16f :: ImageFormat-pattern ImageFormatRgba16f = ImageFormat 2--pattern ImageFormatR32f :: ImageFormat-pattern ImageFormatR32f = ImageFormat 3--pattern ImageFormatRgba8 :: ImageFormat-pattern ImageFormatRgba8 = ImageFormat 4--pattern ImageFormatRgba8Snorm :: ImageFormat-pattern ImageFormatRgba8Snorm = ImageFormat 5--pattern ImageFormatRg32f :: ImageFormat-pattern ImageFormatRg32f = ImageFormat 6--pattern ImageFormatRg16f :: ImageFormat-pattern ImageFormatRg16f = ImageFormat 7--pattern ImageFormatR11fG11fB10f :: ImageFormat-pattern ImageFormatR11fG11fB10f = ImageFormat 8--pattern ImageFormatR16f :: ImageFormat-pattern ImageFormatR16f = ImageFormat 9--pattern ImageFormatRgba16 :: ImageFormat-pattern ImageFormatRgba16 = ImageFormat 10--pattern ImageFormatRgb10A2 :: ImageFormat-pattern ImageFormatRgb10A2 = ImageFormat 11--pattern ImageFormatRg16 :: ImageFormat-pattern ImageFormatRg16 = ImageFormat 12--pattern ImageFormatRg8 :: ImageFormat-pattern ImageFormatRg8 = ImageFormat 13--pattern ImageFormatR16 :: ImageFormat-pattern ImageFormatR16 = ImageFormat 14--pattern ImageFormatR8 :: ImageFormat-pattern ImageFormatR8 = ImageFormat 15--pattern ImageFormatRgba16Snorm :: ImageFormat-pattern ImageFormatRgba16Snorm = ImageFormat 16--pattern ImageFormatRg16Snorm :: ImageFormat-pattern ImageFormatRg16Snorm = ImageFormat 17--pattern ImageFormatRg8Snorm :: ImageFormat-pattern ImageFormatRg8Snorm = ImageFormat 18--pattern ImageFormatR16Snorm :: ImageFormat-pattern ImageFormatR16Snorm = ImageFormat 19--pattern ImageFormatR8Snorm :: ImageFormat-pattern ImageFormatR8Snorm = ImageFormat 20--pattern ImageFormatRgba32i :: ImageFormat-pattern ImageFormatRgba32i = ImageFormat 21--pattern ImageFormatRgba16i :: ImageFormat-pattern ImageFormatRgba16i = ImageFormat 22--pattern ImageFormatRgba8i :: ImageFormat-pattern ImageFormatRgba8i = ImageFormat 23--pattern ImageFormatR32i :: ImageFormat-pattern ImageFormatR32i = ImageFormat 24--pattern ImageFormatRg32i :: ImageFormat-pattern ImageFormatRg32i = ImageFormat 25--pattern ImageFormatRg16i :: ImageFormat-pattern ImageFormatRg16i = ImageFormat 26--pattern ImageFormatRg8i :: ImageFormat-pattern ImageFormatRg8i = ImageFormat 27--pattern ImageFormatR16i :: ImageFormat-pattern ImageFormatR16i = ImageFormat 28--pattern ImageFormatR8i :: ImageFormat-pattern ImageFormatR8i = ImageFormat 29--pattern ImageFormatRgba32ui :: ImageFormat-pattern ImageFormatRgba32ui = ImageFormat 30--pattern ImageFormatRgba16ui :: ImageFormat-pattern ImageFormatRgba16ui = ImageFormat 31--pattern ImageFormatRgba8ui :: ImageFormat-pattern ImageFormatRgba8ui = ImageFormat 32--pattern ImageFormatR32ui :: ImageFormat-pattern ImageFormatR32ui = ImageFormat 33--pattern ImageFormatRgb10a2ui :: ImageFormat-pattern ImageFormatRgb10a2ui = ImageFormat 34--pattern ImageFormatRg32ui :: ImageFormat-pattern ImageFormatRg32ui = ImageFormat 35--pattern ImageFormatRg16ui :: ImageFormat-pattern ImageFormatRg16ui = ImageFormat 36--pattern ImageFormatRg8ui :: ImageFormat-pattern ImageFormatRg8ui = ImageFormat 37--pattern ImageFormatR16ui :: ImageFormat-pattern ImageFormatR16ui = ImageFormat 38--pattern ImageFormatR8ui :: ImageFormat-pattern ImageFormatR8ui = ImageFormat 39--pattern ImageFormatR64ui :: ImageFormat-pattern ImageFormatR64ui = ImageFormat 40--pattern ImageFormatR64i :: ImageFormat-pattern ImageFormatR64i = ImageFormat 41--pattern ImageFormatMax :: ImageFormat-pattern ImageFormatMax = ImageFormat 0x7fffffff
− lib/Data/SpirV/Reflect/Enums/SpirvOp.hs
@@ -1,2013 +0,0 @@-module Data.SpirV.Reflect.Enums.SpirvOp where--import Data.SpirV.Reflect.Enums.Common--newtype Op = Op Int32-  deriving newtype (Eq, Ord, Show, Enum, Bounded)--pattern OpNop :: Op-pattern OpNop = Op 0--pattern OpUndef :: Op-pattern OpUndef = Op 1--pattern OpSourceContinued :: Op-pattern OpSourceContinued = Op 2--pattern OpSource :: Op-pattern OpSource = Op 3--pattern OpSourceExtension :: Op-pattern OpSourceExtension = Op 4--pattern OpName :: Op-pattern OpName = Op 5--pattern OpMemberName :: Op-pattern OpMemberName = Op 6--pattern OpString :: Op-pattern OpString = Op 7--pattern OpLine :: Op-pattern OpLine = Op 8--pattern OpExtension :: Op-pattern OpExtension = Op 10--pattern OpExtInstImport :: Op-pattern OpExtInstImport = Op 11--pattern OpExtInst :: Op-pattern OpExtInst = Op 12--pattern OpMemoryModel :: Op-pattern OpMemoryModel = Op 14--pattern OpEntryPoint :: Op-pattern OpEntryPoint = Op 15--pattern OpExecutionMode :: Op-pattern OpExecutionMode = Op 16--pattern OpCapability :: Op-pattern OpCapability = Op 17--pattern OpTypeVoid :: Op-pattern OpTypeVoid = Op 19--pattern OpTypeBool :: Op-pattern OpTypeBool = Op 20--pattern OpTypeInt :: Op-pattern OpTypeInt = Op 21--pattern OpTypeFloat :: Op-pattern OpTypeFloat = Op 22--pattern OpTypeVector :: Op-pattern OpTypeVector = Op 23--pattern OpTypeMatrix :: Op-pattern OpTypeMatrix = Op 24--pattern OpTypeImage :: Op-pattern OpTypeImage = Op 25--pattern OpTypeSampler :: Op-pattern OpTypeSampler = Op 26--pattern OpTypeSampledImage :: Op-pattern OpTypeSampledImage = Op 27--pattern OpTypeArray :: Op-pattern OpTypeArray = Op 28--pattern OpTypeRuntimeArray :: Op-pattern OpTypeRuntimeArray = Op 29--pattern OpTypeStruct :: Op-pattern OpTypeStruct = Op 30--pattern OpTypeOpaque :: Op-pattern OpTypeOpaque = Op 31--pattern OpTypePointer :: Op-pattern OpTypePointer = Op 32--pattern OpTypeFunction :: Op-pattern OpTypeFunction = Op 33--pattern OpTypeEvent :: Op-pattern OpTypeEvent = Op 34--pattern OpTypeDeviceEvent :: Op-pattern OpTypeDeviceEvent = Op 35--pattern OpTypeReserveId :: Op-pattern OpTypeReserveId = Op 36--pattern OpTypeQueue :: Op-pattern OpTypeQueue = Op 37--pattern OpTypePipe :: Op-pattern OpTypePipe = Op 38--pattern OpTypeForwardPointer :: Op-pattern OpTypeForwardPointer = Op 39--pattern OpConstantTrue :: Op-pattern OpConstantTrue = Op 41--pattern OpConstantFalse :: Op-pattern OpConstantFalse = Op 42--pattern OpConstant :: Op-pattern OpConstant = Op 43--pattern OpConstantComposite :: Op-pattern OpConstantComposite = Op 44--pattern OpConstantSampler :: Op-pattern OpConstantSampler = Op 45--pattern OpConstantNull :: Op-pattern OpConstantNull = Op 46--pattern OpSpecConstantTrue :: Op-pattern OpSpecConstantTrue = Op 48--pattern OpSpecConstantFalse :: Op-pattern OpSpecConstantFalse = Op 49--pattern OpSpecConstant :: Op-pattern OpSpecConstant = Op 50--pattern OpSpecConstantComposite :: Op-pattern OpSpecConstantComposite = Op 51--pattern OpSpecConstantOp :: Op-pattern OpSpecConstantOp = Op 52--pattern OpFunction :: Op-pattern OpFunction = Op 54--pattern OpFunctionParameter :: Op-pattern OpFunctionParameter = Op 55--pattern OpFunctionEnd :: Op-pattern OpFunctionEnd = Op 56--pattern OpFunctionCall :: Op-pattern OpFunctionCall = Op 57--pattern OpVariable :: Op-pattern OpVariable = Op 59--pattern OpImageTexelPointer :: Op-pattern OpImageTexelPointer = Op 60--pattern OpLoad :: Op-pattern OpLoad = Op 61--pattern OpStore :: Op-pattern OpStore = Op 62--pattern OpCopyMemory :: Op-pattern OpCopyMemory = Op 63--pattern OpCopyMemorySized :: Op-pattern OpCopyMemorySized = Op 64--pattern OpAccessChain :: Op-pattern OpAccessChain = Op 65--pattern OpInBoundsAccessChain :: Op-pattern OpInBoundsAccessChain = Op 66--pattern OpPtrAccessChain :: Op-pattern OpPtrAccessChain = Op 67--pattern OpArrayLength :: Op-pattern OpArrayLength = Op 68--pattern OpGenericPtrMemSemantics :: Op-pattern OpGenericPtrMemSemantics = Op 69--pattern OpInBoundsPtrAccessChain :: Op-pattern OpInBoundsPtrAccessChain = Op 70--pattern OpDecorate :: Op-pattern OpDecorate = Op 71--pattern OpMemberDecorate :: Op-pattern OpMemberDecorate = Op 72--pattern OpDecorationGroup :: Op-pattern OpDecorationGroup = Op 73--pattern OpGroupDecorate :: Op-pattern OpGroupDecorate = Op 74--pattern OpGroupMemberDecorate :: Op-pattern OpGroupMemberDecorate = Op 75--pattern OpVectorExtractDynamic :: Op-pattern OpVectorExtractDynamic = Op 77--pattern OpVectorInsertDynamic :: Op-pattern OpVectorInsertDynamic = Op 78--pattern OpVectorShuffle :: Op-pattern OpVectorShuffle = Op 79--pattern OpCompositeConstruct :: Op-pattern OpCompositeConstruct = Op 80--pattern OpCompositeExtract :: Op-pattern OpCompositeExtract = Op 81--pattern OpCompositeInsert :: Op-pattern OpCompositeInsert = Op 82--pattern OpCopyObject :: Op-pattern OpCopyObject = Op 83--pattern OpTranspose :: Op-pattern OpTranspose = Op 84--pattern OpSampledImage :: Op-pattern OpSampledImage = Op 86--pattern OpImageSampleImplicitLod :: Op-pattern OpImageSampleImplicitLod = Op 87--pattern OpImageSampleExplicitLod :: Op-pattern OpImageSampleExplicitLod = Op 88--pattern OpImageSampleDrefImplicitLod :: Op-pattern OpImageSampleDrefImplicitLod = Op 89--pattern OpImageSampleDrefExplicitLod :: Op-pattern OpImageSampleDrefExplicitLod = Op 90--pattern OpImageSampleProjImplicitLod :: Op-pattern OpImageSampleProjImplicitLod = Op 91--pattern OpImageSampleProjExplicitLod :: Op-pattern OpImageSampleProjExplicitLod = Op 92--pattern OpImageSampleProjDrefImplicitLod :: Op-pattern OpImageSampleProjDrefImplicitLod = Op 93--pattern OpImageSampleProjDrefExplicitLod :: Op-pattern OpImageSampleProjDrefExplicitLod = Op 94--pattern OpImageFetch :: Op-pattern OpImageFetch = Op 95--pattern OpImageGather :: Op-pattern OpImageGather = Op 96--pattern OpImageDrefGather :: Op-pattern OpImageDrefGather = Op 97--pattern OpImageRead :: Op-pattern OpImageRead = Op 98--pattern OpImageWrite :: Op-pattern OpImageWrite = Op 99--pattern OpImage :: Op-pattern OpImage = Op 100--pattern OpImageQueryFormat :: Op-pattern OpImageQueryFormat = Op 101--pattern OpImageQueryOrder :: Op-pattern OpImageQueryOrder = Op 102--pattern OpImageQuerySizeLod :: Op-pattern OpImageQuerySizeLod = Op 103--pattern OpImageQuerySize :: Op-pattern OpImageQuerySize = Op 104--pattern OpImageQueryLod :: Op-pattern OpImageQueryLod = Op 105--pattern OpImageQueryLevels :: Op-pattern OpImageQueryLevels = Op 106--pattern OpImageQuerySamples :: Op-pattern OpImageQuerySamples = Op 107--pattern OpConvertFToU :: Op-pattern OpConvertFToU = Op 109--pattern OpConvertFToS :: Op-pattern OpConvertFToS = Op 110--pattern OpConvertSToF :: Op-pattern OpConvertSToF = Op 111--pattern OpConvertUToF :: Op-pattern OpConvertUToF = Op 112--pattern OpUConvert :: Op-pattern OpUConvert = Op 113--pattern OpSConvert :: Op-pattern OpSConvert = Op 114--pattern OpFConvert :: Op-pattern OpFConvert = Op 115--pattern OpQuantizeToF16 :: Op-pattern OpQuantizeToF16 = Op 116--pattern OpConvertPtrToU :: Op-pattern OpConvertPtrToU = Op 117--pattern OpSatConvertSToU :: Op-pattern OpSatConvertSToU = Op 118--pattern OpSatConvertUToS :: Op-pattern OpSatConvertUToS = Op 119--pattern OpConvertUToPtr :: Op-pattern OpConvertUToPtr = Op 120--pattern OpPtrCastToGeneric :: Op-pattern OpPtrCastToGeneric = Op 121--pattern OpGenericCastToPtr :: Op-pattern OpGenericCastToPtr = Op 122--pattern OpGenericCastToPtrExplicit :: Op-pattern OpGenericCastToPtrExplicit = Op 123--pattern OpBitcast :: Op-pattern OpBitcast = Op 124--pattern OpSNegate :: Op-pattern OpSNegate = Op 126--pattern OpFNegate :: Op-pattern OpFNegate = Op 127--pattern OpIAdd :: Op-pattern OpIAdd = Op 128--pattern OpFAdd :: Op-pattern OpFAdd = Op 129--pattern OpISub :: Op-pattern OpISub = Op 130--pattern OpFSub :: Op-pattern OpFSub = Op 131--pattern OpIMul :: Op-pattern OpIMul = Op 132--pattern OpFMul :: Op-pattern OpFMul = Op 133--pattern OpUDiv :: Op-pattern OpUDiv = Op 134--pattern OpSDiv :: Op-pattern OpSDiv = Op 135--pattern OpFDiv :: Op-pattern OpFDiv = Op 136--pattern OpUMod :: Op-pattern OpUMod = Op 137--pattern OpSRem :: Op-pattern OpSRem = Op 138--pattern OpSMod :: Op-pattern OpSMod = Op 139--pattern OpFRem :: Op-pattern OpFRem = Op 140--pattern OpFMod :: Op-pattern OpFMod = Op 141--pattern OpVectorTimesScalar :: Op-pattern OpVectorTimesScalar = Op 142--pattern OpMatrixTimesScalar :: Op-pattern OpMatrixTimesScalar = Op 143--pattern OpVectorTimesMatrix :: Op-pattern OpVectorTimesMatrix = Op 144--pattern OpMatrixTimesVector :: Op-pattern OpMatrixTimesVector = Op 145--pattern OpMatrixTimesMatrix :: Op-pattern OpMatrixTimesMatrix = Op 146--pattern OpOuterProduct :: Op-pattern OpOuterProduct = Op 147--pattern OpDot :: Op-pattern OpDot = Op 148--pattern OpIAddCarry :: Op-pattern OpIAddCarry = Op 149--pattern OpISubBorrow :: Op-pattern OpISubBorrow = Op 150--pattern OpUMulExtended :: Op-pattern OpUMulExtended = Op 151--pattern OpSMulExtended :: Op-pattern OpSMulExtended = Op 152--pattern OpAny :: Op-pattern OpAny = Op 154--pattern OpAll :: Op-pattern OpAll = Op 155--pattern OpIsNan :: Op-pattern OpIsNan = Op 156--pattern OpIsInf :: Op-pattern OpIsInf = Op 157--pattern OpIsFinite :: Op-pattern OpIsFinite = Op 158--pattern OpIsNormal :: Op-pattern OpIsNormal = Op 159--pattern OpSignBitSet :: Op-pattern OpSignBitSet = Op 160--pattern OpLessOrGreater :: Op-pattern OpLessOrGreater = Op 161--pattern OpOrdered :: Op-pattern OpOrdered = Op 162--pattern OpUnordered :: Op-pattern OpUnordered = Op 163--pattern OpLogicalEqual :: Op-pattern OpLogicalEqual = Op 164--pattern OpLogicalNotEqual :: Op-pattern OpLogicalNotEqual = Op 165--pattern OpLogicalOr :: Op-pattern OpLogicalOr = Op 166--pattern OpLogicalAnd :: Op-pattern OpLogicalAnd = Op 167--pattern OpLogicalNot :: Op-pattern OpLogicalNot = Op 168--pattern OpSelect :: Op-pattern OpSelect = Op 169--pattern OpIEqual :: Op-pattern OpIEqual = Op 170--pattern OpINotEqual :: Op-pattern OpINotEqual = Op 171--pattern OpUGreaterThan :: Op-pattern OpUGreaterThan = Op 172--pattern OpSGreaterThan :: Op-pattern OpSGreaterThan = Op 173--pattern OpUGreaterThanEqual :: Op-pattern OpUGreaterThanEqual = Op 174--pattern OpSGreaterThanEqual :: Op-pattern OpSGreaterThanEqual = Op 175--pattern OpULessThan :: Op-pattern OpULessThan = Op 176--pattern OpSLessThan :: Op-pattern OpSLessThan = Op 177--pattern OpULessThanEqual :: Op-pattern OpULessThanEqual = Op 178--pattern OpSLessThanEqual :: Op-pattern OpSLessThanEqual = Op 179--pattern OpFOrdEqual :: Op-pattern OpFOrdEqual = Op 180--pattern OpFUnordEqual :: Op-pattern OpFUnordEqual = Op 181--pattern OpFOrdNotEqual :: Op-pattern OpFOrdNotEqual = Op 182--pattern OpFUnordNotEqual :: Op-pattern OpFUnordNotEqual = Op 183--pattern OpFOrdLessThan :: Op-pattern OpFOrdLessThan = Op 184--pattern OpFUnordLessThan :: Op-pattern OpFUnordLessThan = Op 185--pattern OpFOrdGreaterThan :: Op-pattern OpFOrdGreaterThan = Op 186--pattern OpFUnordGreaterThan :: Op-pattern OpFUnordGreaterThan = Op 187--pattern OpFOrdLessThanEqual :: Op-pattern OpFOrdLessThanEqual = Op 188--pattern OpFUnordLessThanEqual :: Op-pattern OpFUnordLessThanEqual = Op 189--pattern OpFOrdGreaterThanEqual :: Op-pattern OpFOrdGreaterThanEqual = Op 190--pattern OpFUnordGreaterThanEqual :: Op-pattern OpFUnordGreaterThanEqual = Op 191--pattern OpShiftRightLogical :: Op-pattern OpShiftRightLogical = Op 194--pattern OpShiftRightArithmetic :: Op-pattern OpShiftRightArithmetic = Op 195--pattern OpShiftLeftLogical :: Op-pattern OpShiftLeftLogical = Op 196--pattern OpBitwiseOr :: Op-pattern OpBitwiseOr = Op 197--pattern OpBitwiseXor :: Op-pattern OpBitwiseXor = Op 198--pattern OpBitwiseAnd :: Op-pattern OpBitwiseAnd = Op 199--pattern OpNot :: Op-pattern OpNot = Op 200--pattern OpBitFieldInsert :: Op-pattern OpBitFieldInsert = Op 201--pattern OpBitFieldSExtract :: Op-pattern OpBitFieldSExtract = Op 202--pattern OpBitFieldUExtract :: Op-pattern OpBitFieldUExtract = Op 203--pattern OpBitReverse :: Op-pattern OpBitReverse = Op 204--pattern OpBitCount :: Op-pattern OpBitCount = Op 205--pattern OpDPdx :: Op-pattern OpDPdx = Op 207--pattern OpDPdy :: Op-pattern OpDPdy = Op 208--pattern OpFwidth :: Op-pattern OpFwidth = Op 209--pattern OpDPdxFine :: Op-pattern OpDPdxFine = Op 210--pattern OpDPdyFine :: Op-pattern OpDPdyFine = Op 211--pattern OpFwidthFine :: Op-pattern OpFwidthFine = Op 212--pattern OpDPdxCoarse :: Op-pattern OpDPdxCoarse = Op 213--pattern OpDPdyCoarse :: Op-pattern OpDPdyCoarse = Op 214--pattern OpFwidthCoarse :: Op-pattern OpFwidthCoarse = Op 215--pattern OpEmitVertex :: Op-pattern OpEmitVertex = Op 218--pattern OpEndPrimitive :: Op-pattern OpEndPrimitive = Op 219--pattern OpEmitStreamVertex :: Op-pattern OpEmitStreamVertex = Op 220--pattern OpEndStreamPrimitive :: Op-pattern OpEndStreamPrimitive = Op 221--pattern OpControlBarrier :: Op-pattern OpControlBarrier = Op 224--pattern OpMemoryBarrier :: Op-pattern OpMemoryBarrier = Op 225--pattern OpAtomicLoad :: Op-pattern OpAtomicLoad = Op 227--pattern OpAtomicStore :: Op-pattern OpAtomicStore = Op 228--pattern OpAtomicExchange :: Op-pattern OpAtomicExchange = Op 229--pattern OpAtomicCompareExchange :: Op-pattern OpAtomicCompareExchange = Op 230--pattern OpAtomicCompareExchangeWeak :: Op-pattern OpAtomicCompareExchangeWeak = Op 231--pattern OpAtomicIIncrement :: Op-pattern OpAtomicIIncrement = Op 232--pattern OpAtomicIDecrement :: Op-pattern OpAtomicIDecrement = Op 233--pattern OpAtomicIAdd :: Op-pattern OpAtomicIAdd = Op 234--pattern OpAtomicISub :: Op-pattern OpAtomicISub = Op 235--pattern OpAtomicSMin :: Op-pattern OpAtomicSMin = Op 236--pattern OpAtomicUMin :: Op-pattern OpAtomicUMin = Op 237--pattern OpAtomicSMax :: Op-pattern OpAtomicSMax = Op 238--pattern OpAtomicUMax :: Op-pattern OpAtomicUMax = Op 239--pattern OpAtomicAnd :: Op-pattern OpAtomicAnd = Op 240--pattern OpAtomicOr :: Op-pattern OpAtomicOr = Op 241--pattern OpAtomicXor :: Op-pattern OpAtomicXor = Op 242--pattern OpPhi :: Op-pattern OpPhi = Op 245--pattern OpLoopMerge :: Op-pattern OpLoopMerge = Op 246--pattern OpSelectionMerge :: Op-pattern OpSelectionMerge = Op 247--pattern OpLabel :: Op-pattern OpLabel = Op 248--pattern OpBranch :: Op-pattern OpBranch = Op 249--pattern OpBranchConditional :: Op-pattern OpBranchConditional = Op 250--pattern OpSwitch :: Op-pattern OpSwitch = Op 251--pattern OpKill :: Op-pattern OpKill = Op 252--pattern OpReturn :: Op-pattern OpReturn = Op 253--pattern OpReturnValue :: Op-pattern OpReturnValue = Op 254--pattern OpUnreachable :: Op-pattern OpUnreachable = Op 255--pattern OpLifetimeStart :: Op-pattern OpLifetimeStart = Op 256--pattern OpLifetimeStop :: Op-pattern OpLifetimeStop = Op 257--pattern OpGroupAsyncCopy :: Op-pattern OpGroupAsyncCopy = Op 259--pattern OpGroupWaitEvents :: Op-pattern OpGroupWaitEvents = Op 260--pattern OpGroupAll :: Op-pattern OpGroupAll = Op 261--pattern OpGroupAny :: Op-pattern OpGroupAny = Op 262--pattern OpGroupBroadcast :: Op-pattern OpGroupBroadcast = Op 263--pattern OpGroupIAdd :: Op-pattern OpGroupIAdd = Op 264--pattern OpGroupFAdd :: Op-pattern OpGroupFAdd = Op 265--pattern OpGroupFMin :: Op-pattern OpGroupFMin = Op 266--pattern OpGroupUMin :: Op-pattern OpGroupUMin = Op 267--pattern OpGroupSMin :: Op-pattern OpGroupSMin = Op 268--pattern OpGroupFMax :: Op-pattern OpGroupFMax = Op 269--pattern OpGroupUMax :: Op-pattern OpGroupUMax = Op 270--pattern OpGroupSMax :: Op-pattern OpGroupSMax = Op 271--pattern OpReadPipe :: Op-pattern OpReadPipe = Op 274--pattern OpWritePipe :: Op-pattern OpWritePipe = Op 275--pattern OpReservedReadPipe :: Op-pattern OpReservedReadPipe = Op 276--pattern OpReservedWritePipe :: Op-pattern OpReservedWritePipe = Op 277--pattern OpReserveReadPipePackets :: Op-pattern OpReserveReadPipePackets = Op 278--pattern OpReserveWritePipePackets :: Op-pattern OpReserveWritePipePackets = Op 279--pattern OpCommitReadPipe :: Op-pattern OpCommitReadPipe = Op 280--pattern OpCommitWritePipe :: Op-pattern OpCommitWritePipe = Op 281--pattern OpIsValidReserveId :: Op-pattern OpIsValidReserveId = Op 282--pattern OpGetNumPipePackets :: Op-pattern OpGetNumPipePackets = Op 283--pattern OpGetMaxPipePackets :: Op-pattern OpGetMaxPipePackets = Op 284--pattern OpGroupReserveReadPipePackets :: Op-pattern OpGroupReserveReadPipePackets = Op 285--pattern OpGroupReserveWritePipePackets :: Op-pattern OpGroupReserveWritePipePackets = Op 286--pattern OpGroupCommitReadPipe :: Op-pattern OpGroupCommitReadPipe = Op 287--pattern OpGroupCommitWritePipe :: Op-pattern OpGroupCommitWritePipe = Op 288--pattern OpEnqueueMarker :: Op-pattern OpEnqueueMarker = Op 291--pattern OpEnqueueKernel :: Op-pattern OpEnqueueKernel = Op 292--pattern OpGetKernelNDrangeSubGroupCount :: Op-pattern OpGetKernelNDrangeSubGroupCount = Op 293--pattern OpGetKernelNDrangeMaxSubGroupSize :: Op-pattern OpGetKernelNDrangeMaxSubGroupSize = Op 294--pattern OpGetKernelWorkGroupSize :: Op-pattern OpGetKernelWorkGroupSize = Op 295--pattern OpGetKernelPreferredWorkGroupSizeMultiple :: Op-pattern OpGetKernelPreferredWorkGroupSizeMultiple = Op 296--pattern OpRetainEvent :: Op-pattern OpRetainEvent = Op 297--pattern OpReleaseEvent :: Op-pattern OpReleaseEvent = Op 298--pattern OpCreateUserEvent :: Op-pattern OpCreateUserEvent = Op 299--pattern OpIsValidEvent :: Op-pattern OpIsValidEvent = Op 300--pattern OpSetUserEventStatus :: Op-pattern OpSetUserEventStatus = Op 301--pattern OpCaptureEventProfilingInfo :: Op-pattern OpCaptureEventProfilingInfo = Op 302--pattern OpGetDefaultQueue :: Op-pattern OpGetDefaultQueue = Op 303--pattern OpBuildNDRange :: Op-pattern OpBuildNDRange = Op 304--pattern OpImageSparseSampleImplicitLod :: Op-pattern OpImageSparseSampleImplicitLod = Op 305--pattern OpImageSparseSampleExplicitLod :: Op-pattern OpImageSparseSampleExplicitLod = Op 306--pattern OpImageSparseSampleDrefImplicitLod :: Op-pattern OpImageSparseSampleDrefImplicitLod = Op 307--pattern OpImageSparseSampleDrefExplicitLod :: Op-pattern OpImageSparseSampleDrefExplicitLod = Op 308--pattern OpImageSparseSampleProjImplicitLod :: Op-pattern OpImageSparseSampleProjImplicitLod = Op 309--pattern OpImageSparseSampleProjExplicitLod :: Op-pattern OpImageSparseSampleProjExplicitLod = Op 310--pattern OpImageSparseSampleProjDrefImplicitLod :: Op-pattern OpImageSparseSampleProjDrefImplicitLod = Op 311--pattern OpImageSparseSampleProjDrefExplicitLod :: Op-pattern OpImageSparseSampleProjDrefExplicitLod = Op 312--pattern OpImageSparseFetch :: Op-pattern OpImageSparseFetch = Op 313--pattern OpImageSparseGather :: Op-pattern OpImageSparseGather = Op 314--pattern OpImageSparseDrefGather :: Op-pattern OpImageSparseDrefGather = Op 315--pattern OpImageSparseTexelsResident :: Op-pattern OpImageSparseTexelsResident = Op 316--pattern OpNoLine :: Op-pattern OpNoLine = Op 317--pattern OpAtomicFlagTestAndSet :: Op-pattern OpAtomicFlagTestAndSet = Op 318--pattern OpAtomicFlagClear :: Op-pattern OpAtomicFlagClear = Op 319--pattern OpImageSparseRead :: Op-pattern OpImageSparseRead = Op 320--pattern OpSizeOf :: Op-pattern OpSizeOf = Op 321--pattern OpTypePipeStorage :: Op-pattern OpTypePipeStorage = Op 322--pattern OpConstantPipeStorage :: Op-pattern OpConstantPipeStorage = Op 323--pattern OpCreatePipeFromPipeStorage :: Op-pattern OpCreatePipeFromPipeStorage = Op 324--pattern OpGetKernelLocalSizeForSubgroupCount :: Op-pattern OpGetKernelLocalSizeForSubgroupCount = Op 325--pattern OpGetKernelMaxNumSubgroups :: Op-pattern OpGetKernelMaxNumSubgroups = Op 326--pattern OpTypeNamedBarrier :: Op-pattern OpTypeNamedBarrier = Op 327--pattern OpNamedBarrierInitialize :: Op-pattern OpNamedBarrierInitialize = Op 328--pattern OpMemoryNamedBarrier :: Op-pattern OpMemoryNamedBarrier = Op 329--pattern OpModuleProcessed :: Op-pattern OpModuleProcessed = Op 330--pattern OpExecutionModeId :: Op-pattern OpExecutionModeId = Op 331--pattern OpDecorateId :: Op-pattern OpDecorateId = Op 332--pattern OpGroupNonUniformElect :: Op-pattern OpGroupNonUniformElect = Op 333--pattern OpGroupNonUniformAll :: Op-pattern OpGroupNonUniformAll = Op 334--pattern OpGroupNonUniformAny :: Op-pattern OpGroupNonUniformAny = Op 335--pattern OpGroupNonUniformAllEqual :: Op-pattern OpGroupNonUniformAllEqual = Op 336--pattern OpGroupNonUniformBroadcast :: Op-pattern OpGroupNonUniformBroadcast = Op 337--pattern OpGroupNonUniformBroadcastFirst :: Op-pattern OpGroupNonUniformBroadcastFirst = Op 338--pattern OpGroupNonUniformBallot :: Op-pattern OpGroupNonUniformBallot = Op 339--pattern OpGroupNonUniformInverseBallot :: Op-pattern OpGroupNonUniformInverseBallot = Op 340--pattern OpGroupNonUniformBallotBitExtract :: Op-pattern OpGroupNonUniformBallotBitExtract = Op 341--pattern OpGroupNonUniformBallotBitCount :: Op-pattern OpGroupNonUniformBallotBitCount = Op 342--pattern OpGroupNonUniformBallotFindLSB :: Op-pattern OpGroupNonUniformBallotFindLSB = Op 343--pattern OpGroupNonUniformBallotFindMSB :: Op-pattern OpGroupNonUniformBallotFindMSB = Op 344--pattern OpGroupNonUniformShuffle :: Op-pattern OpGroupNonUniformShuffle = Op 345--pattern OpGroupNonUniformShuffleXor :: Op-pattern OpGroupNonUniformShuffleXor = Op 346--pattern OpGroupNonUniformShuffleUp :: Op-pattern OpGroupNonUniformShuffleUp = Op 347--pattern OpGroupNonUniformShuffleDown :: Op-pattern OpGroupNonUniformShuffleDown = Op 348--pattern OpGroupNonUniformIAdd :: Op-pattern OpGroupNonUniformIAdd = Op 349--pattern OpGroupNonUniformFAdd :: Op-pattern OpGroupNonUniformFAdd = Op 350--pattern OpGroupNonUniformIMul :: Op-pattern OpGroupNonUniformIMul = Op 351--pattern OpGroupNonUniformFMul :: Op-pattern OpGroupNonUniformFMul = Op 352--pattern OpGroupNonUniformSMin :: Op-pattern OpGroupNonUniformSMin = Op 353--pattern OpGroupNonUniformUMin :: Op-pattern OpGroupNonUniformUMin = Op 354--pattern OpGroupNonUniformFMin :: Op-pattern OpGroupNonUniformFMin = Op 355--pattern OpGroupNonUniformSMax :: Op-pattern OpGroupNonUniformSMax = Op 356--pattern OpGroupNonUniformUMax :: Op-pattern OpGroupNonUniformUMax = Op 357--pattern OpGroupNonUniformFMax :: Op-pattern OpGroupNonUniformFMax = Op 358--pattern OpGroupNonUniformBitwiseAnd :: Op-pattern OpGroupNonUniformBitwiseAnd = Op 359--pattern OpGroupNonUniformBitwiseOr :: Op-pattern OpGroupNonUniformBitwiseOr = Op 360--pattern OpGroupNonUniformBitwiseXor :: Op-pattern OpGroupNonUniformBitwiseXor = Op 361--pattern OpGroupNonUniformLogicalAnd :: Op-pattern OpGroupNonUniformLogicalAnd = Op 362--pattern OpGroupNonUniformLogicalOr :: Op-pattern OpGroupNonUniformLogicalOr = Op 363--pattern OpGroupNonUniformLogicalXor :: Op-pattern OpGroupNonUniformLogicalXor = Op 364--pattern OpGroupNonUniformQuadBroadcast :: Op-pattern OpGroupNonUniformQuadBroadcast = Op 365--pattern OpGroupNonUniformQuadSwap :: Op-pattern OpGroupNonUniformQuadSwap = Op 366--pattern OpCopyLogical :: Op-pattern OpCopyLogical = Op 400--pattern OpPtrEqual :: Op-pattern OpPtrEqual = Op 401--pattern OpPtrNotEqual :: Op-pattern OpPtrNotEqual = Op 402--pattern OpPtrDiff :: Op-pattern OpPtrDiff = Op 403--pattern OpTerminateInvocation :: Op-pattern OpTerminateInvocation = Op 4416--pattern OpSubgroupBallotKHR :: Op-pattern OpSubgroupBallotKHR = Op 4421--pattern OpSubgroupFirstInvocationKHR :: Op-pattern OpSubgroupFirstInvocationKHR = Op 4422--pattern OpSubgroupAllKHR :: Op-pattern OpSubgroupAllKHR = Op 4428--pattern OpSubgroupAnyKHR :: Op-pattern OpSubgroupAnyKHR = Op 4429--pattern OpSubgroupAllEqualKHR :: Op-pattern OpSubgroupAllEqualKHR = Op 4430--pattern OpGroupNonUniformRotateKHR :: Op-pattern OpGroupNonUniformRotateKHR = Op 4431--pattern OpSubgroupReadInvocationKHR :: Op-pattern OpSubgroupReadInvocationKHR = Op 4432--pattern OpTraceRayKHR :: Op-pattern OpTraceRayKHR = Op 4445--pattern OpExecuteCallableKHR :: Op-pattern OpExecuteCallableKHR = Op 4446--pattern OpConvertUToAccelerationStructureKHR :: Op-pattern OpConvertUToAccelerationStructureKHR = Op 4447--pattern OpIgnoreIntersectionKHR :: Op-pattern OpIgnoreIntersectionKHR = Op 4448--pattern OpTerminateRayKHR :: Op-pattern OpTerminateRayKHR = Op 4449--pattern OpSDot :: Op-pattern OpSDot = Op 4450--pattern OpSDotKHR :: Op-pattern OpSDotKHR = Op 4450--pattern OpUDot :: Op-pattern OpUDot = Op 4451--pattern OpUDotKHR :: Op-pattern OpUDotKHR = Op 4451--pattern OpSUDot :: Op-pattern OpSUDot = Op 4452--pattern OpSUDotKHR :: Op-pattern OpSUDotKHR = Op 4452--pattern OpSDotAccSat :: Op-pattern OpSDotAccSat = Op 4453--pattern OpSDotAccSatKHR :: Op-pattern OpSDotAccSatKHR = Op 4453--pattern OpUDotAccSat :: Op-pattern OpUDotAccSat = Op 4454--pattern OpUDotAccSatKHR :: Op-pattern OpUDotAccSatKHR = Op 4454--pattern OpSUDotAccSat :: Op-pattern OpSUDotAccSat = Op 4455--pattern OpSUDotAccSatKHR :: Op-pattern OpSUDotAccSatKHR = Op 4455--pattern OpTypeRayQueryKHR :: Op-pattern OpTypeRayQueryKHR = Op 4472--pattern OpRayQueryInitializeKHR :: Op-pattern OpRayQueryInitializeKHR = Op 4473--pattern OpRayQueryTerminateKHR :: Op-pattern OpRayQueryTerminateKHR = Op 4474--pattern OpRayQueryGenerateIntersectionKHR :: Op-pattern OpRayQueryGenerateIntersectionKHR = Op 4475--pattern OpRayQueryConfirmIntersectionKHR :: Op-pattern OpRayQueryConfirmIntersectionKHR = Op 4476--pattern OpRayQueryProceedKHR :: Op-pattern OpRayQueryProceedKHR = Op 4477--pattern OpRayQueryGetIntersectionTypeKHR :: Op-pattern OpRayQueryGetIntersectionTypeKHR = Op 4479--pattern OpGroupIAddNonUniformAMD :: Op-pattern OpGroupIAddNonUniformAMD = Op 5000--pattern OpGroupFAddNonUniformAMD :: Op-pattern OpGroupFAddNonUniformAMD = Op 5001--pattern OpGroupFMinNonUniformAMD :: Op-pattern OpGroupFMinNonUniformAMD = Op 5002--pattern OpGroupUMinNonUniformAMD :: Op-pattern OpGroupUMinNonUniformAMD = Op 5003--pattern OpGroupSMinNonUniformAMD :: Op-pattern OpGroupSMinNonUniformAMD = Op 5004--pattern OpGroupFMaxNonUniformAMD :: Op-pattern OpGroupFMaxNonUniformAMD = Op 5005--pattern OpGroupUMaxNonUniformAMD :: Op-pattern OpGroupUMaxNonUniformAMD = Op 5006--pattern OpGroupSMaxNonUniformAMD :: Op-pattern OpGroupSMaxNonUniformAMD = Op 5007--pattern OpFragmentMaskFetchAMD :: Op-pattern OpFragmentMaskFetchAMD = Op 5011--pattern OpFragmentFetchAMD :: Op-pattern OpFragmentFetchAMD = Op 5012--pattern OpReadClockKHR :: Op-pattern OpReadClockKHR = Op 5056--pattern OpImageSampleFootprintNV :: Op-pattern OpImageSampleFootprintNV = Op 5283--pattern OpGroupNonUniformPartitionNV :: Op-pattern OpGroupNonUniformPartitionNV = Op 5296--pattern OpWritePackedPrimitiveIndices4x8NV :: Op-pattern OpWritePackedPrimitiveIndices4x8NV = Op 5299--pattern OpReportIntersectionKHR :: Op-pattern OpReportIntersectionKHR = Op 5334--pattern OpReportIntersectionNV :: Op-pattern OpReportIntersectionNV = Op 5334--pattern OpIgnoreIntersectionNV :: Op-pattern OpIgnoreIntersectionNV = Op 5335--pattern OpTerminateRayNV :: Op-pattern OpTerminateRayNV = Op 5336--pattern OpTraceNV :: Op-pattern OpTraceNV = Op 5337--pattern OpTraceMotionNV :: Op-pattern OpTraceMotionNV = Op 5338--pattern OpTraceRayMotionNV :: Op-pattern OpTraceRayMotionNV = Op 5339--pattern OpTypeAccelerationStructureKHR :: Op-pattern OpTypeAccelerationStructureKHR = Op 5341--pattern OpTypeAccelerationStructureNV :: Op-pattern OpTypeAccelerationStructureNV = Op 5341--pattern OpExecuteCallableNV :: Op-pattern OpExecuteCallableNV = Op 5344--pattern OpTypeCooperativeMatrixNV :: Op-pattern OpTypeCooperativeMatrixNV = Op 5358--pattern OpCooperativeMatrixLoadNV :: Op-pattern OpCooperativeMatrixLoadNV = Op 5359--pattern OpCooperativeMatrixStoreNV :: Op-pattern OpCooperativeMatrixStoreNV = Op 5360--pattern OpCooperativeMatrixMulAddNV :: Op-pattern OpCooperativeMatrixMulAddNV = Op 5361--pattern OpCooperativeMatrixLengthNV :: Op-pattern OpCooperativeMatrixLengthNV = Op 5362--pattern OpBeginInvocationInterlockEXT :: Op-pattern OpBeginInvocationInterlockEXT = Op 5364--pattern OpEndInvocationInterlockEXT :: Op-pattern OpEndInvocationInterlockEXT = Op 5365--pattern OpDemoteToHelperInvocation :: Op-pattern OpDemoteToHelperInvocation = Op 5380--pattern OpDemoteToHelperInvocationEXT :: Op-pattern OpDemoteToHelperInvocationEXT = Op 5380--pattern OpIsHelperInvocationEXT :: Op-pattern OpIsHelperInvocationEXT = Op 5381--pattern OpConvertUToImageNV :: Op-pattern OpConvertUToImageNV = Op 5391--pattern OpConvertUToSamplerNV :: Op-pattern OpConvertUToSamplerNV = Op 5392--pattern OpConvertImageToUNV :: Op-pattern OpConvertImageToUNV = Op 5393--pattern OpConvertSamplerToUNV :: Op-pattern OpConvertSamplerToUNV = Op 5394--pattern OpConvertUToSampledImageNV :: Op-pattern OpConvertUToSampledImageNV = Op 5395--pattern OpConvertSampledImageToUNV :: Op-pattern OpConvertSampledImageToUNV = Op 5396--pattern OpSamplerImageAddressingModeNV :: Op-pattern OpSamplerImageAddressingModeNV = Op 5397--pattern OpSubgroupShuffleINTEL :: Op-pattern OpSubgroupShuffleINTEL = Op 5571--pattern OpSubgroupShuffleDownINTEL :: Op-pattern OpSubgroupShuffleDownINTEL = Op 5572--pattern OpSubgroupShuffleUpINTEL :: Op-pattern OpSubgroupShuffleUpINTEL = Op 5573--pattern OpSubgroupShuffleXorINTEL :: Op-pattern OpSubgroupShuffleXorINTEL = Op 5574--pattern OpSubgroupBlockReadINTEL :: Op-pattern OpSubgroupBlockReadINTEL = Op 5575--pattern OpSubgroupBlockWriteINTEL :: Op-pattern OpSubgroupBlockWriteINTEL = Op 5576--pattern OpSubgroupImageBlockReadINTEL :: Op-pattern OpSubgroupImageBlockReadINTEL = Op 5577--pattern OpSubgroupImageBlockWriteINTEL :: Op-pattern OpSubgroupImageBlockWriteINTEL = Op 5578--pattern OpSubgroupImageMediaBlockReadINTEL :: Op-pattern OpSubgroupImageMediaBlockReadINTEL = Op 5580--pattern OpSubgroupImageMediaBlockWriteINTEL :: Op-pattern OpSubgroupImageMediaBlockWriteINTEL = Op 5581--pattern OpUCountLeadingZerosINTEL :: Op-pattern OpUCountLeadingZerosINTEL = Op 5585--pattern OpUCountTrailingZerosINTEL :: Op-pattern OpUCountTrailingZerosINTEL = Op 5586--pattern OpAbsISubINTEL :: Op-pattern OpAbsISubINTEL = Op 5587--pattern OpAbsUSubINTEL :: Op-pattern OpAbsUSubINTEL = Op 5588--pattern OpIAddSatINTEL :: Op-pattern OpIAddSatINTEL = Op 5589--pattern OpUAddSatINTEL :: Op-pattern OpUAddSatINTEL = Op 5590--pattern OpIAverageINTEL :: Op-pattern OpIAverageINTEL = Op 5591--pattern OpUAverageINTEL :: Op-pattern OpUAverageINTEL = Op 5592--pattern OpIAverageRoundedINTEL :: Op-pattern OpIAverageRoundedINTEL = Op 5593--pattern OpUAverageRoundedINTEL :: Op-pattern OpUAverageRoundedINTEL = Op 5594--pattern OpISubSatINTEL :: Op-pattern OpISubSatINTEL = Op 5595--pattern OpUSubSatINTEL :: Op-pattern OpUSubSatINTEL = Op 5596--pattern OpIMul32x16INTEL :: Op-pattern OpIMul32x16INTEL = Op 5597--pattern OpUMul32x16INTEL :: Op-pattern OpUMul32x16INTEL = Op 5598--pattern OpConstantFunctionPointerINTEL :: Op-pattern OpConstantFunctionPointerINTEL = Op 5600--pattern OpFunctionPointerCallINTEL :: Op-pattern OpFunctionPointerCallINTEL = Op 5601--pattern OpAsmTargetINTEL :: Op-pattern OpAsmTargetINTEL = Op 5609--pattern OpAsmINTEL :: Op-pattern OpAsmINTEL = Op 5610--pattern OpAsmCallINTEL :: Op-pattern OpAsmCallINTEL = Op 5611--pattern OpAtomicFMinEXT :: Op-pattern OpAtomicFMinEXT = Op 5614--pattern OpAtomicFMaxEXT :: Op-pattern OpAtomicFMaxEXT = Op 5615--pattern OpAssumeTrueKHR :: Op-pattern OpAssumeTrueKHR = Op 5630--pattern OpExpectKHR :: Op-pattern OpExpectKHR = Op 5631--pattern OpDecorateString :: Op-pattern OpDecorateString = Op 5632--pattern OpDecorateStringGOOGLE :: Op-pattern OpDecorateStringGOOGLE = Op 5632--pattern OpMemberDecorateString :: Op-pattern OpMemberDecorateString = Op 5633--pattern OpMemberDecorateStringGOOGLE :: Op-pattern OpMemberDecorateStringGOOGLE = Op 5633--pattern OpVmeImageINTEL :: Op-pattern OpVmeImageINTEL = Op 5699--pattern OpTypeVmeImageINTEL :: Op-pattern OpTypeVmeImageINTEL = Op 5700--pattern OpTypeAvcImePayloadINTEL :: Op-pattern OpTypeAvcImePayloadINTEL = Op 5701--pattern OpTypeAvcRefPayloadINTEL :: Op-pattern OpTypeAvcRefPayloadINTEL = Op 5702--pattern OpTypeAvcSicPayloadINTEL :: Op-pattern OpTypeAvcSicPayloadINTEL = Op 5703--pattern OpTypeAvcMcePayloadINTEL :: Op-pattern OpTypeAvcMcePayloadINTEL = Op 5704--pattern OpTypeAvcMceResultINTEL :: Op-pattern OpTypeAvcMceResultINTEL = Op 5705--pattern OpTypeAvcImeResultINTEL :: Op-pattern OpTypeAvcImeResultINTEL = Op 5706--pattern OpTypeAvcImeResultSingleReferenceStreamoutINTEL :: Op-pattern OpTypeAvcImeResultSingleReferenceStreamoutINTEL = Op 5707--pattern OpTypeAvcImeResultDualReferenceStreamoutINTEL :: Op-pattern OpTypeAvcImeResultDualReferenceStreamoutINTEL = Op 5708--pattern OpTypeAvcImeSingleReferenceStreaminINTEL :: Op-pattern OpTypeAvcImeSingleReferenceStreaminINTEL = Op 5709--pattern OpTypeAvcImeDualReferenceStreaminINTEL :: Op-pattern OpTypeAvcImeDualReferenceStreaminINTEL = Op 5710--pattern OpTypeAvcRefResultINTEL :: Op-pattern OpTypeAvcRefResultINTEL = Op 5711--pattern OpTypeAvcSicResultINTEL :: Op-pattern OpTypeAvcSicResultINTEL = Op 5712--pattern OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultInterBaseMultiReferencePenaltyINTEL = Op 5713--pattern OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL :: Op-pattern OpSubgroupAvcMceSetInterBaseMultiReferencePenaltyINTEL = Op 5714--pattern OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultInterShapePenaltyINTEL = Op 5715--pattern OpSubgroupAvcMceSetInterShapePenaltyINTEL :: Op-pattern OpSubgroupAvcMceSetInterShapePenaltyINTEL = Op 5716--pattern OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultInterDirectionPenaltyINTEL = Op 5717--pattern OpSubgroupAvcMceSetInterDirectionPenaltyINTEL :: Op-pattern OpSubgroupAvcMceSetInterDirectionPenaltyINTEL = Op 5718--pattern OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultIntraLumaShapePenaltyINTEL = Op 5719--pattern OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultInterMotionVectorCostTableINTEL = Op 5720--pattern OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultHighPenaltyCostTableINTEL = Op 5721--pattern OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultMediumPenaltyCostTableINTEL = Op 5722--pattern OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultLowPenaltyCostTableINTEL = Op 5723--pattern OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL :: Op-pattern OpSubgroupAvcMceSetMotionVectorCostFunctionINTEL = Op 5724--pattern OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultIntraLumaModePenaltyINTEL = Op 5725--pattern OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultNonDcLumaIntraPenaltyINTEL = Op 5726--pattern OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL :: Op-pattern OpSubgroupAvcMceGetDefaultIntraChromaModeBasePenaltyINTEL = Op 5727--pattern OpSubgroupAvcMceSetAcOnlyHaarINTEL :: Op-pattern OpSubgroupAvcMceSetAcOnlyHaarINTEL = Op 5728--pattern OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL :: Op-pattern OpSubgroupAvcMceSetSourceInterlacedFieldPolarityINTEL = Op 5729--pattern OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL :: Op-pattern OpSubgroupAvcMceSetSingleReferenceInterlacedFieldPolarityINTEL = Op 5730--pattern OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL :: Op-pattern OpSubgroupAvcMceSetDualReferenceInterlacedFieldPolaritiesINTEL = Op 5731--pattern OpSubgroupAvcMceConvertToImePayloadINTEL :: Op-pattern OpSubgroupAvcMceConvertToImePayloadINTEL = Op 5732--pattern OpSubgroupAvcMceConvertToImeResultINTEL :: Op-pattern OpSubgroupAvcMceConvertToImeResultINTEL = Op 5733--pattern OpSubgroupAvcMceConvertToRefPayloadINTEL :: Op-pattern OpSubgroupAvcMceConvertToRefPayloadINTEL = Op 5734--pattern OpSubgroupAvcMceConvertToRefResultINTEL :: Op-pattern OpSubgroupAvcMceConvertToRefResultINTEL = Op 5735--pattern OpSubgroupAvcMceConvertToSicPayloadINTEL :: Op-pattern OpSubgroupAvcMceConvertToSicPayloadINTEL = Op 5736--pattern OpSubgroupAvcMceConvertToSicResultINTEL :: Op-pattern OpSubgroupAvcMceConvertToSicResultINTEL = Op 5737--pattern OpSubgroupAvcMceGetMotionVectorsINTEL :: Op-pattern OpSubgroupAvcMceGetMotionVectorsINTEL = Op 5738--pattern OpSubgroupAvcMceGetInterDistortionsINTEL :: Op-pattern OpSubgroupAvcMceGetInterDistortionsINTEL = Op 5739--pattern OpSubgroupAvcMceGetBestInterDistortionsINTEL :: Op-pattern OpSubgroupAvcMceGetBestInterDistortionsINTEL = Op 5740--pattern OpSubgroupAvcMceGetInterMajorShapeINTEL :: Op-pattern OpSubgroupAvcMceGetInterMajorShapeINTEL = Op 5741--pattern OpSubgroupAvcMceGetInterMinorShapeINTEL :: Op-pattern OpSubgroupAvcMceGetInterMinorShapeINTEL = Op 5742--pattern OpSubgroupAvcMceGetInterDirectionsINTEL :: Op-pattern OpSubgroupAvcMceGetInterDirectionsINTEL = Op 5743--pattern OpSubgroupAvcMceGetInterMotionVectorCountINTEL :: Op-pattern OpSubgroupAvcMceGetInterMotionVectorCountINTEL = Op 5744--pattern OpSubgroupAvcMceGetInterReferenceIdsINTEL :: Op-pattern OpSubgroupAvcMceGetInterReferenceIdsINTEL = Op 5745--pattern OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL :: Op-pattern OpSubgroupAvcMceGetInterReferenceInterlacedFieldPolaritiesINTEL = Op 5746--pattern OpSubgroupAvcImeInitializeINTEL :: Op-pattern OpSubgroupAvcImeInitializeINTEL = Op 5747--pattern OpSubgroupAvcImeSetSingleReferenceINTEL :: Op-pattern OpSubgroupAvcImeSetSingleReferenceINTEL = Op 5748--pattern OpSubgroupAvcImeSetDualReferenceINTEL :: Op-pattern OpSubgroupAvcImeSetDualReferenceINTEL = Op 5749--pattern OpSubgroupAvcImeRefWindowSizeINTEL :: Op-pattern OpSubgroupAvcImeRefWindowSizeINTEL = Op 5750--pattern OpSubgroupAvcImeAdjustRefOffsetINTEL :: Op-pattern OpSubgroupAvcImeAdjustRefOffsetINTEL = Op 5751--pattern OpSubgroupAvcImeConvertToMcePayloadINTEL :: Op-pattern OpSubgroupAvcImeConvertToMcePayloadINTEL = Op 5752--pattern OpSubgroupAvcImeSetMaxMotionVectorCountINTEL :: Op-pattern OpSubgroupAvcImeSetMaxMotionVectorCountINTEL = Op 5753--pattern OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL :: Op-pattern OpSubgroupAvcImeSetUnidirectionalMixDisableINTEL = Op 5754--pattern OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL :: Op-pattern OpSubgroupAvcImeSetEarlySearchTerminationThresholdINTEL = Op 5755--pattern OpSubgroupAvcImeSetWeightedSadINTEL :: Op-pattern OpSubgroupAvcImeSetWeightedSadINTEL = Op 5756--pattern OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithSingleReferenceINTEL = Op 5757--pattern OpSubgroupAvcImeEvaluateWithDualReferenceINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithDualReferenceINTEL = Op 5758--pattern OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminINTEL = Op 5759--pattern OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithDualReferenceStreaminINTEL = Op 5760--pattern OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithSingleReferenceStreamoutINTEL = Op 5761--pattern OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithDualReferenceStreamoutINTEL = Op 5762--pattern OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithSingleReferenceStreaminoutINTEL = Op 5763--pattern OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL :: Op-pattern OpSubgroupAvcImeEvaluateWithDualReferenceStreaminoutINTEL = Op 5764--pattern OpSubgroupAvcImeConvertToMceResultINTEL :: Op-pattern OpSubgroupAvcImeConvertToMceResultINTEL = Op 5765--pattern OpSubgroupAvcImeGetSingleReferenceStreaminINTEL :: Op-pattern OpSubgroupAvcImeGetSingleReferenceStreaminINTEL = Op 5766--pattern OpSubgroupAvcImeGetDualReferenceStreaminINTEL :: Op-pattern OpSubgroupAvcImeGetDualReferenceStreaminINTEL = Op 5767--pattern OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL :: Op-pattern OpSubgroupAvcImeStripSingleReferenceStreamoutINTEL = Op 5768--pattern OpSubgroupAvcImeStripDualReferenceStreamoutINTEL :: Op-pattern OpSubgroupAvcImeStripDualReferenceStreamoutINTEL = Op 5769--pattern OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL :: Op-pattern OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeMotionVectorsINTEL = Op 5770--pattern OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL :: Op-pattern OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeDistortionsINTEL = Op 5771--pattern OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL :: Op-pattern OpSubgroupAvcImeGetStreamoutSingleReferenceMajorShapeReferenceIdsINTEL = Op 5772--pattern OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL :: Op-pattern OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeMotionVectorsINTEL = Op 5773--pattern OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL :: Op-pattern OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeDistortionsINTEL = Op 5774--pattern OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL :: Op-pattern OpSubgroupAvcImeGetStreamoutDualReferenceMajorShapeReferenceIdsINTEL = Op 5775--pattern OpSubgroupAvcImeGetBorderReachedINTEL :: Op-pattern OpSubgroupAvcImeGetBorderReachedINTEL = Op 5776--pattern OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL :: Op-pattern OpSubgroupAvcImeGetTruncatedSearchIndicationINTEL = Op 5777--pattern OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL :: Op-pattern OpSubgroupAvcImeGetUnidirectionalEarlySearchTerminationINTEL = Op 5778--pattern OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL :: Op-pattern OpSubgroupAvcImeGetWeightingPatternMinimumMotionVectorINTEL = Op 5779--pattern OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL :: Op-pattern OpSubgroupAvcImeGetWeightingPatternMinimumDistortionINTEL = Op 5780--pattern OpSubgroupAvcFmeInitializeINTEL :: Op-pattern OpSubgroupAvcFmeInitializeINTEL = Op 5781--pattern OpSubgroupAvcBmeInitializeINTEL :: Op-pattern OpSubgroupAvcBmeInitializeINTEL = Op 5782--pattern OpSubgroupAvcRefConvertToMcePayloadINTEL :: Op-pattern OpSubgroupAvcRefConvertToMcePayloadINTEL = Op 5783--pattern OpSubgroupAvcRefSetBidirectionalMixDisableINTEL :: Op-pattern OpSubgroupAvcRefSetBidirectionalMixDisableINTEL = Op 5784--pattern OpSubgroupAvcRefSetBilinearFilterEnableINTEL :: Op-pattern OpSubgroupAvcRefSetBilinearFilterEnableINTEL = Op 5785--pattern OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL :: Op-pattern OpSubgroupAvcRefEvaluateWithSingleReferenceINTEL = Op 5786--pattern OpSubgroupAvcRefEvaluateWithDualReferenceINTEL :: Op-pattern OpSubgroupAvcRefEvaluateWithDualReferenceINTEL = Op 5787--pattern OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL :: Op-pattern OpSubgroupAvcRefEvaluateWithMultiReferenceINTEL = Op 5788--pattern OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL :: Op-pattern OpSubgroupAvcRefEvaluateWithMultiReferenceInterlacedINTEL = Op 5789--pattern OpSubgroupAvcRefConvertToMceResultINTEL :: Op-pattern OpSubgroupAvcRefConvertToMceResultINTEL = Op 5790--pattern OpSubgroupAvcSicInitializeINTEL :: Op-pattern OpSubgroupAvcSicInitializeINTEL = Op 5791--pattern OpSubgroupAvcSicConfigureSkcINTEL :: Op-pattern OpSubgroupAvcSicConfigureSkcINTEL = Op 5792--pattern OpSubgroupAvcSicConfigureIpeLumaINTEL :: Op-pattern OpSubgroupAvcSicConfigureIpeLumaINTEL = Op 5793--pattern OpSubgroupAvcSicConfigureIpeLumaChromaINTEL :: Op-pattern OpSubgroupAvcSicConfigureIpeLumaChromaINTEL = Op 5794--pattern OpSubgroupAvcSicGetMotionVectorMaskINTEL :: Op-pattern OpSubgroupAvcSicGetMotionVectorMaskINTEL = Op 5795--pattern OpSubgroupAvcSicConvertToMcePayloadINTEL :: Op-pattern OpSubgroupAvcSicConvertToMcePayloadINTEL = Op 5796--pattern OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL :: Op-pattern OpSubgroupAvcSicSetIntraLumaShapePenaltyINTEL = Op 5797--pattern OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL :: Op-pattern OpSubgroupAvcSicSetIntraLumaModeCostFunctionINTEL = Op 5798--pattern OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL :: Op-pattern OpSubgroupAvcSicSetIntraChromaModeCostFunctionINTEL = Op 5799--pattern OpSubgroupAvcSicSetBilinearFilterEnableINTEL :: Op-pattern OpSubgroupAvcSicSetBilinearFilterEnableINTEL = Op 5800--pattern OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL :: Op-pattern OpSubgroupAvcSicSetSkcForwardTransformEnableINTEL = Op 5801--pattern OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL :: Op-pattern OpSubgroupAvcSicSetBlockBasedRawSkipSadINTEL = Op 5802--pattern OpSubgroupAvcSicEvaluateIpeINTEL :: Op-pattern OpSubgroupAvcSicEvaluateIpeINTEL = Op 5803--pattern OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL :: Op-pattern OpSubgroupAvcSicEvaluateWithSingleReferenceINTEL = Op 5804--pattern OpSubgroupAvcSicEvaluateWithDualReferenceINTEL :: Op-pattern OpSubgroupAvcSicEvaluateWithDualReferenceINTEL = Op 5805--pattern OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL :: Op-pattern OpSubgroupAvcSicEvaluateWithMultiReferenceINTEL = Op 5806--pattern OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL :: Op-pattern OpSubgroupAvcSicEvaluateWithMultiReferenceInterlacedINTEL = Op 5807--pattern OpSubgroupAvcSicConvertToMceResultINTEL :: Op-pattern OpSubgroupAvcSicConvertToMceResultINTEL = Op 5808--pattern OpSubgroupAvcSicGetIpeLumaShapeINTEL :: Op-pattern OpSubgroupAvcSicGetIpeLumaShapeINTEL = Op 5809--pattern OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL :: Op-pattern OpSubgroupAvcSicGetBestIpeLumaDistortionINTEL = Op 5810--pattern OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL :: Op-pattern OpSubgroupAvcSicGetBestIpeChromaDistortionINTEL = Op 5811--pattern OpSubgroupAvcSicGetPackedIpeLumaModesINTEL :: Op-pattern OpSubgroupAvcSicGetPackedIpeLumaModesINTEL = Op 5812--pattern OpSubgroupAvcSicGetIpeChromaModeINTEL :: Op-pattern OpSubgroupAvcSicGetIpeChromaModeINTEL = Op 5813--pattern OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL :: Op-pattern OpSubgroupAvcSicGetPackedSkcLumaCountThresholdINTEL = Op 5814--pattern OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL :: Op-pattern OpSubgroupAvcSicGetPackedSkcLumaSumThresholdINTEL = Op 5815--pattern OpSubgroupAvcSicGetInterRawSadsINTEL :: Op-pattern OpSubgroupAvcSicGetInterRawSadsINTEL = Op 5816--pattern OpVariableLengthArrayINTEL :: Op-pattern OpVariableLengthArrayINTEL = Op 5818--pattern OpSaveMemoryINTEL :: Op-pattern OpSaveMemoryINTEL = Op 5819--pattern OpRestoreMemoryINTEL :: Op-pattern OpRestoreMemoryINTEL = Op 5820--pattern OpArbitraryFloatSinCosPiINTEL :: Op-pattern OpArbitraryFloatSinCosPiINTEL = Op 5840--pattern OpArbitraryFloatCastINTEL :: Op-pattern OpArbitraryFloatCastINTEL = Op 5841--pattern OpArbitraryFloatCastFromIntINTEL :: Op-pattern OpArbitraryFloatCastFromIntINTEL = Op 5842--pattern OpArbitraryFloatCastToIntINTEL :: Op-pattern OpArbitraryFloatCastToIntINTEL = Op 5843--pattern OpArbitraryFloatAddINTEL :: Op-pattern OpArbitraryFloatAddINTEL = Op 5846--pattern OpArbitraryFloatSubINTEL :: Op-pattern OpArbitraryFloatSubINTEL = Op 5847--pattern OpArbitraryFloatMulINTEL :: Op-pattern OpArbitraryFloatMulINTEL = Op 5848--pattern OpArbitraryFloatDivINTEL :: Op-pattern OpArbitraryFloatDivINTEL = Op 5849--pattern OpArbitraryFloatGTINTEL :: Op-pattern OpArbitraryFloatGTINTEL = Op 5850--pattern OpArbitraryFloatGEINTEL :: Op-pattern OpArbitraryFloatGEINTEL = Op 5851--pattern OpArbitraryFloatLTINTEL :: Op-pattern OpArbitraryFloatLTINTEL = Op 5852--pattern OpArbitraryFloatLEINTEL :: Op-pattern OpArbitraryFloatLEINTEL = Op 5853--pattern OpArbitraryFloatEQINTEL :: Op-pattern OpArbitraryFloatEQINTEL = Op 5854--pattern OpArbitraryFloatRecipINTEL :: Op-pattern OpArbitraryFloatRecipINTEL = Op 5855--pattern OpArbitraryFloatRSqrtINTEL :: Op-pattern OpArbitraryFloatRSqrtINTEL = Op 5856--pattern OpArbitraryFloatCbrtINTEL :: Op-pattern OpArbitraryFloatCbrtINTEL = Op 5857--pattern OpArbitraryFloatHypotINTEL :: Op-pattern OpArbitraryFloatHypotINTEL = Op 5858--pattern OpArbitraryFloatSqrtINTEL :: Op-pattern OpArbitraryFloatSqrtINTEL = Op 5859--pattern OpArbitraryFloatLogINTEL :: Op-pattern OpArbitraryFloatLogINTEL = Op 5860--pattern OpArbitraryFloatLog2INTEL :: Op-pattern OpArbitraryFloatLog2INTEL = Op 5861--pattern OpArbitraryFloatLog10INTEL :: Op-pattern OpArbitraryFloatLog10INTEL = Op 5862--pattern OpArbitraryFloatLog1pINTEL :: Op-pattern OpArbitraryFloatLog1pINTEL = Op 5863--pattern OpArbitraryFloatExpINTEL :: Op-pattern OpArbitraryFloatExpINTEL = Op 5864--pattern OpArbitraryFloatExp2INTEL :: Op-pattern OpArbitraryFloatExp2INTEL = Op 5865--pattern OpArbitraryFloatExp10INTEL :: Op-pattern OpArbitraryFloatExp10INTEL = Op 5866--pattern OpArbitraryFloatExpm1INTEL :: Op-pattern OpArbitraryFloatExpm1INTEL = Op 5867--pattern OpArbitraryFloatSinINTEL :: Op-pattern OpArbitraryFloatSinINTEL = Op 5868--pattern OpArbitraryFloatCosINTEL :: Op-pattern OpArbitraryFloatCosINTEL = Op 5869--pattern OpArbitraryFloatSinCosINTEL :: Op-pattern OpArbitraryFloatSinCosINTEL = Op 5870--pattern OpArbitraryFloatSinPiINTEL :: Op-pattern OpArbitraryFloatSinPiINTEL = Op 5871--pattern OpArbitraryFloatCosPiINTEL :: Op-pattern OpArbitraryFloatCosPiINTEL = Op 5872--pattern OpArbitraryFloatASinINTEL :: Op-pattern OpArbitraryFloatASinINTEL = Op 5873--pattern OpArbitraryFloatASinPiINTEL :: Op-pattern OpArbitraryFloatASinPiINTEL = Op 5874--pattern OpArbitraryFloatACosINTEL :: Op-pattern OpArbitraryFloatACosINTEL = Op 5875--pattern OpArbitraryFloatACosPiINTEL :: Op-pattern OpArbitraryFloatACosPiINTEL = Op 5876--pattern OpArbitraryFloatATanINTEL :: Op-pattern OpArbitraryFloatATanINTEL = Op 5877--pattern OpArbitraryFloatATanPiINTEL :: Op-pattern OpArbitraryFloatATanPiINTEL = Op 5878--pattern OpArbitraryFloatATan2INTEL :: Op-pattern OpArbitraryFloatATan2INTEL = Op 5879--pattern OpArbitraryFloatPowINTEL :: Op-pattern OpArbitraryFloatPowINTEL = Op 5880--pattern OpArbitraryFloatPowRINTEL :: Op-pattern OpArbitraryFloatPowRINTEL = Op 5881--pattern OpArbitraryFloatPowNINTEL :: Op-pattern OpArbitraryFloatPowNINTEL = Op 5882--pattern OpLoopControlINTEL :: Op-pattern OpLoopControlINTEL = Op 5887--pattern OpAliasDomainDeclINTEL :: Op-pattern OpAliasDomainDeclINTEL = Op 5911--pattern OpAliasScopeDeclINTEL :: Op-pattern OpAliasScopeDeclINTEL = Op 5912--pattern OpAliasScopeListDeclINTEL :: Op-pattern OpAliasScopeListDeclINTEL = Op 5913--pattern OpFixedSqrtINTEL :: Op-pattern OpFixedSqrtINTEL = Op 5923--pattern OpFixedRecipINTEL :: Op-pattern OpFixedRecipINTEL = Op 5924--pattern OpFixedRsqrtINTEL :: Op-pattern OpFixedRsqrtINTEL = Op 5925--pattern OpFixedSinINTEL :: Op-pattern OpFixedSinINTEL = Op 5926--pattern OpFixedCosINTEL :: Op-pattern OpFixedCosINTEL = Op 5927--pattern OpFixedSinCosINTEL :: Op-pattern OpFixedSinCosINTEL = Op 5928--pattern OpFixedSinPiINTEL :: Op-pattern OpFixedSinPiINTEL = Op 5929--pattern OpFixedCosPiINTEL :: Op-pattern OpFixedCosPiINTEL = Op 5930--pattern OpFixedSinCosPiINTEL :: Op-pattern OpFixedSinCosPiINTEL = Op 5931--pattern OpFixedLogINTEL :: Op-pattern OpFixedLogINTEL = Op 5932--pattern OpFixedExpINTEL :: Op-pattern OpFixedExpINTEL = Op 5933--pattern OpPtrCastToCrossWorkgroupINTEL :: Op-pattern OpPtrCastToCrossWorkgroupINTEL = Op 5934--pattern OpCrossWorkgroupCastToPtrINTEL :: Op-pattern OpCrossWorkgroupCastToPtrINTEL = Op 5938--pattern OpReadPipeBlockingINTEL :: Op-pattern OpReadPipeBlockingINTEL = Op 5946--pattern OpWritePipeBlockingINTEL :: Op-pattern OpWritePipeBlockingINTEL = Op 5947--pattern OpFPGARegINTEL :: Op-pattern OpFPGARegINTEL = Op 5949--pattern OpRayQueryGetRayTMinKHR :: Op-pattern OpRayQueryGetRayTMinKHR = Op 6016--pattern OpRayQueryGetRayFlagsKHR :: Op-pattern OpRayQueryGetRayFlagsKHR = Op 6017--pattern OpRayQueryGetIntersectionTKHR :: Op-pattern OpRayQueryGetIntersectionTKHR = Op 6018--pattern OpRayQueryGetIntersectionInstanceCustomIndexKHR :: Op-pattern OpRayQueryGetIntersectionInstanceCustomIndexKHR = Op 6019--pattern OpRayQueryGetIntersectionInstanceIdKHR :: Op-pattern OpRayQueryGetIntersectionInstanceIdKHR = Op 6020--pattern OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR :: Op-pattern OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR = Op 6021--pattern OpRayQueryGetIntersectionGeometryIndexKHR :: Op-pattern OpRayQueryGetIntersectionGeometryIndexKHR = Op 6022--pattern OpRayQueryGetIntersectionPrimitiveIndexKHR :: Op-pattern OpRayQueryGetIntersectionPrimitiveIndexKHR = Op 6023--pattern OpRayQueryGetIntersectionBarycentricsKHR :: Op-pattern OpRayQueryGetIntersectionBarycentricsKHR = Op 6024--pattern OpRayQueryGetIntersectionFrontFaceKHR :: Op-pattern OpRayQueryGetIntersectionFrontFaceKHR = Op 6025--pattern OpRayQueryGetIntersectionCandidateAABBOpaqueKHR :: Op-pattern OpRayQueryGetIntersectionCandidateAABBOpaqueKHR = Op 6026--pattern OpRayQueryGetIntersectionObjectRayDirectionKHR :: Op-pattern OpRayQueryGetIntersectionObjectRayDirectionKHR = Op 6027--pattern OpRayQueryGetIntersectionObjectRayOriginKHR :: Op-pattern OpRayQueryGetIntersectionObjectRayOriginKHR = Op 6028--pattern OpRayQueryGetWorldRayDirectionKHR :: Op-pattern OpRayQueryGetWorldRayDirectionKHR = Op 6029--pattern OpRayQueryGetWorldRayOriginKHR :: Op-pattern OpRayQueryGetWorldRayOriginKHR = Op 6030--pattern OpRayQueryGetIntersectionObjectToWorldKHR :: Op-pattern OpRayQueryGetIntersectionObjectToWorldKHR = Op 6031--pattern OpRayQueryGetIntersectionWorldToObjectKHR :: Op-pattern OpRayQueryGetIntersectionWorldToObjectKHR = Op 6032--pattern OpAtomicFAddEXT :: Op-pattern OpAtomicFAddEXT = Op 6035--pattern OpTypeBufferSurfaceINTEL :: Op-pattern OpTypeBufferSurfaceINTEL = Op 6086--pattern OpTypeStructContinuedINTEL :: Op-pattern OpTypeStructContinuedINTEL = Op 6090--pattern OpConstantCompositeContinuedINTEL :: Op-pattern OpConstantCompositeContinuedINTEL = Op 6091--pattern OpSpecConstantCompositeContinuedINTEL :: Op-pattern OpSpecConstantCompositeContinuedINTEL = Op 6092--pattern OpControlBarrierArriveINTEL :: Op-pattern OpControlBarrierArriveINTEL = Op 6142--pattern OpControlBarrierWaitINTEL :: Op-pattern OpControlBarrierWaitINTEL = Op 6143--pattern OpGroupIMulKHR :: Op-pattern OpGroupIMulKHR = Op 6401--pattern OpGroupFMulKHR :: Op-pattern OpGroupFMulKHR = Op 6402--pattern OpGroupBitwiseAndKHR :: Op-pattern OpGroupBitwiseAndKHR = Op 6403--pattern OpGroupBitwiseOrKHR :: Op-pattern OpGroupBitwiseOrKHR = Op 6404--pattern OpGroupBitwiseXorKHR :: Op-pattern OpGroupBitwiseXorKHR = Op 6405--pattern OpGroupLogicalAndKHR :: Op-pattern OpGroupLogicalAndKHR = Op 6406--pattern OpGroupLogicalOrKHR :: Op-pattern OpGroupLogicalOrKHR = Op 6407--pattern OpGroupLogicalXorKHR :: Op-pattern OpGroupLogicalXorKHR = Op 6408--pattern OpMax :: Op-pattern OpMax = Op 0x7fffffff
− lib/Data/SpirV/Reflect/Enums/SpirvStorageClass.hs
@@ -1,99 +0,0 @@-module Data.SpirV.Reflect.Enums.SpirvStorageClass where--import Data.SpirV.Reflect.Enums.Common--newtype StorageClass = StorageClass Int32-  deriving newtype (Eq, Ord, Show, Enum, Bounded)--pattern StorageClassUniformConstant :: StorageClass-pattern StorageClassUniformConstant = StorageClass 0--pattern StorageClassInput :: StorageClass-pattern StorageClassInput = StorageClass 1--pattern StorageClassUniform :: StorageClass-pattern StorageClassUniform = StorageClass 2--pattern StorageClassOutput :: StorageClass-pattern StorageClassOutput = StorageClass 3--pattern StorageClassWorkgroup :: StorageClass-pattern StorageClassWorkgroup = StorageClass 4--pattern StorageClassCrossWorkgroup :: StorageClass-pattern StorageClassCrossWorkgroup = StorageClass 5--pattern StorageClassPrivate :: StorageClass-pattern StorageClassPrivate = StorageClass 6--pattern StorageClassFunction :: StorageClass-pattern StorageClassFunction = StorageClass 7--pattern StorageClassGeneric :: StorageClass-pattern StorageClassGeneric = StorageClass 8--pattern StorageClassPushConstant :: StorageClass-pattern StorageClassPushConstant = StorageClass 9--pattern StorageClassAtomicCounter :: StorageClass-pattern StorageClassAtomicCounter = StorageClass 10--pattern StorageClassImage :: StorageClass-pattern StorageClassImage = StorageClass 11--pattern StorageClassStorageBuffer :: StorageClass-pattern StorageClassStorageBuffer = StorageClass 12--pattern StorageClassCallableDataKHR :: StorageClass-pattern StorageClassCallableDataKHR = StorageClass 5328--pattern StorageClassCallableDataNV :: StorageClass-pattern StorageClassCallableDataNV = StorageClass 5328--pattern StorageClassIncomingCallableDataKHR :: StorageClass-pattern StorageClassIncomingCallableDataKHR = StorageClass 5329--pattern StorageClassIncomingCallableDataNV :: StorageClass-pattern StorageClassIncomingCallableDataNV = StorageClass 5329--pattern StorageClassRayPayloadKHR :: StorageClass-pattern StorageClassRayPayloadKHR = StorageClass 5338--pattern StorageClassRayPayloadNV :: StorageClass-pattern StorageClassRayPayloadNV = StorageClass 5338--pattern StorageClassHitAttributeKHR :: StorageClass-pattern StorageClassHitAttributeKHR = StorageClass 5339--pattern StorageClassHitAttributeNV :: StorageClass-pattern StorageClassHitAttributeNV = StorageClass 5339--pattern StorageClassIncomingRayPayloadKHR :: StorageClass-pattern StorageClassIncomingRayPayloadKHR = StorageClass 5342--pattern StorageClassIncomingRayPayloadNV :: StorageClass-pattern StorageClassIncomingRayPayloadNV = StorageClass 5342--pattern StorageClassShaderRecordBufferKHR :: StorageClass-pattern StorageClassShaderRecordBufferKHR = StorageClass 5343--pattern StorageClassShaderRecordBufferNV :: StorageClass-pattern StorageClassShaderRecordBufferNV = StorageClass 5343--pattern StorageClassPhysicalStorageBuffer :: StorageClass-pattern StorageClassPhysicalStorageBuffer = StorageClass 5349--pattern StorageClassPhysicalStorageBufferEXT :: StorageClass-pattern StorageClassPhysicalStorageBufferEXT = StorageClass 5349--pattern StorageClassCodeSectionINTEL :: StorageClass-pattern StorageClassCodeSectionINTEL = StorageClass 5605--pattern StorageClassDeviceOnlyINTEL :: StorageClass-pattern StorageClassDeviceOnlyINTEL = StorageClass 5936--pattern StorageClassHostOnlyINTEL :: StorageClass-pattern StorageClassHostOnlyINTEL = StorageClass 5937--pattern StorageClassMax :: StorageClass-pattern StorageClassMax = StorageClass 0x7fffffff
lib/Data/SpirV/Reflect/Enums/TypeFlags.hs view
@@ -54,6 +54,9 @@ pattern TYPE_FLAG_ARRAY :: TypeFlagBits pattern TYPE_FLAG_ARRAY = TypeFlagBits 0x20000000 +pattern TYPE_FLAG_REF :: TypeFlagBits+pattern TYPE_FLAG_REF = TypeFlagBits 0x40000000+ typeFlagBitNames :: IsString label => [(TypeFlagBits, label)] typeFlagBitNames =   [ (TYPE_FLAG_UNDEFINED, "UNDEFINED")@@ -71,6 +74,7 @@   , (TYPE_FLAG_EXTERNAL_MASK, "EXTERNAL_MASK")   , (TYPE_FLAG_STRUCT, "STRUCT")   , (TYPE_FLAG_ARRAY, "ARRAY")+  , (TYPE_FLAG_ARRAY, "REF")   ]  typeFlagsNames :: IsString label => TypeFlags -> [label]
+ lib/Data/SpirV/Reflect/Enums/UserType.hs view
@@ -0,0 +1,217 @@+module Data.SpirV.Reflect.Enums.UserType where++import Data.SpirV.Reflect.Enums.Common++newtype UserType = UserType Int+  deriving newtype (Eq, Ord, Show, Enum)++pattern USER_TYPE_INVALID :: UserType+pattern USER_TYPE_INVALID = UserType 0++pattern USER_TYPE_CBUFFER :: UserType+pattern USER_TYPE_CBUFFER = UserType 1++pattern USER_TYPE_TBUFFER :: UserType+pattern USER_TYPE_TBUFFER = UserType 2++pattern USER_TYPE_APPEND_STRUCTURED_BUFFER :: UserType+pattern USER_TYPE_APPEND_STRUCTURED_BUFFER = UserType 3++pattern USER_TYPE_BUFFER :: UserType+pattern USER_TYPE_BUFFER = UserType 4++pattern USER_TYPE_BYTE_ADDRESS_BUFFER :: UserType+pattern USER_TYPE_BYTE_ADDRESS_BUFFER = UserType 5++pattern USER_TYPE_CONSTANT_BUFFER :: UserType+pattern USER_TYPE_CONSTANT_BUFFER = UserType 6++pattern USER_TYPE_CONSUME_STRUCTURED_BUFFER :: UserType+pattern USER_TYPE_CONSUME_STRUCTURED_BUFFER = UserType 7++pattern USER_TYPE_INPUT_PATCH :: UserType+pattern USER_TYPE_INPUT_PATCH = UserType 8++pattern USER_TYPE_OUTPUT_PATCH :: UserType+pattern USER_TYPE_OUTPUT_PATCH = UserType 9++pattern USER_TYPE_RASTERIZER_ORDERED_BUFFER :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_BUFFER = UserType 10++pattern USER_TYPE_RASTERIZER_ORDERED_BYTE_ADDRESS_BUFFER :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_BYTE_ADDRESS_BUFFER = UserType 11++pattern USER_TYPE_RASTERIZER_ORDERED_STRUCTURED_BUFFER :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_STRUCTURED_BUFFER = UserType 12++pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D = UserType 13++pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D_ARRAY :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D_ARRAY = UserType 14++pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D = UserType 15++pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D_ARRAY :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D_ARRAY = UserType 16++pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_3D :: UserType+pattern USER_TYPE_RASTERIZER_ORDERED_TEXTURE_3D = UserType 17++pattern USER_TYPE_RAYTRACING_ACCELERATION_STRUCTURE :: UserType+pattern USER_TYPE_RAYTRACING_ACCELERATION_STRUCTURE = UserType 18++pattern USER_TYPE_RW_BUFFER :: UserType+pattern USER_TYPE_RW_BUFFER = UserType 19++pattern USER_TYPE_RW_BYTE_ADDRESS_BUFFER :: UserType+pattern USER_TYPE_RW_BYTE_ADDRESS_BUFFER = UserType 20++pattern USER_TYPE_RW_STRUCTURED_BUFFER :: UserType+pattern USER_TYPE_RW_STRUCTURED_BUFFER = UserType 21++pattern USER_TYPE_RW_TEXTURE_1D :: UserType+pattern USER_TYPE_RW_TEXTURE_1D = UserType 22++pattern USER_TYPE_RW_TEXTURE_1D_ARRAY :: UserType+pattern USER_TYPE_RW_TEXTURE_1D_ARRAY = UserType 23++pattern USER_TYPE_RW_TEXTURE_2D :: UserType+pattern USER_TYPE_RW_TEXTURE_2D = UserType 24++pattern USER_TYPE_RW_TEXTURE_2D_ARRAY :: UserType+pattern USER_TYPE_RW_TEXTURE_2D_ARRAY = UserType 25++pattern USER_TYPE_RW_TEXTURE_3D :: UserType+pattern USER_TYPE_RW_TEXTURE_3D = UserType 26++pattern USER_TYPE_STRUCTURED_BUFFER :: UserType+pattern USER_TYPE_STRUCTURED_BUFFER = UserType 27++pattern USER_TYPE_SUBPASS_INPUT :: UserType+pattern USER_TYPE_SUBPASS_INPUT = UserType 28++pattern USER_TYPE_SUBPASS_INPUT_MS :: UserType+pattern USER_TYPE_SUBPASS_INPUT_MS = UserType 29++pattern USER_TYPE_TEXTURE_1D :: UserType+pattern USER_TYPE_TEXTURE_1D = UserType 30++pattern USER_TYPE_TEXTURE_1D_ARRAY :: UserType+pattern USER_TYPE_TEXTURE_1D_ARRAY = UserType 31++pattern USER_TYPE_TEXTURE_2D :: UserType+pattern USER_TYPE_TEXTURE_2D = UserType 32++pattern USER_TYPE_TEXTURE_2D_ARRAY :: UserType+pattern USER_TYPE_TEXTURE_2D_ARRAY = UserType 33++pattern USER_TYPE_TEXTURE_2DMS :: UserType+pattern USER_TYPE_TEXTURE_2DMS = UserType 34++pattern USER_TYPE_TEXTURE_2DMS_ARRAY :: UserType+pattern USER_TYPE_TEXTURE_2DMS_ARRAY = UserType 35++pattern USER_TYPE_TEXTURE_3D :: UserType+pattern USER_TYPE_TEXTURE_3D = UserType 36++pattern USER_TYPE_TEXTURE_BUFFER :: UserType+pattern USER_TYPE_TEXTURE_BUFFER = UserType 37++pattern USER_TYPE_TEXTURE_CUBE :: UserType+pattern USER_TYPE_TEXTURE_CUBE = UserType 38++pattern USER_TYPE_TEXTURE_CUBE_ARRAY :: UserType+pattern USER_TYPE_TEXTURE_CUBE_ARRAY = UserType 39++userTypeName :: IsString label => UserType -> Maybe label+userTypeName = toLabel userTypeNames++userTypeNames :: IsString label => [(UserType, label)]+userTypeNames =+  [ (USER_TYPE_INVALID, "Invalid")+  , (USER_TYPE_CBUFFER, "cbuffer")+  , (USER_TYPE_TBUFFER, "tbuffer")+  , (USER_TYPE_APPEND_STRUCTURED_BUFFER, "AppendStructuredBuffer")+  , (USER_TYPE_BUFFER, "Buffer")+  , (USER_TYPE_BYTE_ADDRESS_BUFFER, "ByteAddressBuffer")+  , (USER_TYPE_CONSTANT_BUFFER, "ConstantBuffer")+  , (USER_TYPE_CONSUME_STRUCTURED_BUFFER, "ConsumeStructuredBuffer")+  , (USER_TYPE_INPUT_PATCH, "InputPatch")+  , (USER_TYPE_OUTPUT_PATCH, "OutputPatch")+  , (USER_TYPE_RASTERIZER_ORDERED_BUFFER, "RasterizerOrderedBuffer")+  , (USER_TYPE_RASTERIZER_ORDERED_BYTE_ADDRESS_BUFFER, "RasterizerOrderedByteAddressBuffer")+  , (USER_TYPE_RASTERIZER_ORDERED_STRUCTURED_BUFFER, "RasterizerOrderedStructuredBuffer")+  , (USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D, "RasterizerOrderedTexture1D")+  , (USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D_ARRAY, "RasterizerOrderedTexture1DArray")+  , (USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D, "RasterizerOrderedTexture2D")+  , (USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D_ARRAY, "RasterizerOrdered_Texture2DArray")+  , (USER_TYPE_RASTERIZER_ORDERED_TEXTURE_3D, "RasterizerOrderedTexture3D")+  , (USER_TYPE_RAYTRACING_ACCELERATION_STRUCTURE, "RaytracingAccelerationStructure")+  , (USER_TYPE_RW_BUFFER, "RWBuffer")+  , (USER_TYPE_RW_BYTE_ADDRESS_BUFFER, "RWByteAddressBuffer")+  , (USER_TYPE_RW_STRUCTURED_BUFFER, "RWStructuredBuffer")+  , (USER_TYPE_RW_TEXTURE_1D, "RWTexture1D")+  , (USER_TYPE_RW_TEXTURE_1D_ARRAY, "RWTexture1DArray")+  , (USER_TYPE_RW_TEXTURE_2D, "RWTexture2D")+  , (USER_TYPE_RW_TEXTURE_2D_ARRAY, "RWTexture2DArray")+  , (USER_TYPE_RW_TEXTURE_3D, "RWTexture3D")+  , (USER_TYPE_STRUCTURED_BUFFER, "StructuredBuffer")+  , (USER_TYPE_SUBPASS_INPUT, "SubpassInput")+  , (USER_TYPE_SUBPASS_INPUT_MS, "SubpassInputMS")+  , (USER_TYPE_TEXTURE_1D, "Texture1D")+  , (USER_TYPE_TEXTURE_1D_ARRAY, "Texture1DArray")+  , (USER_TYPE_TEXTURE_2D, "Texture2D")+  , (USER_TYPE_TEXTURE_2D_ARRAY, "Texture2DArray")+  , (USER_TYPE_TEXTURE_2DMS, "Texture2DMS")+  , (USER_TYPE_TEXTURE_2DMS_ARRAY, "Texture2DMSArray")+  , (USER_TYPE_TEXTURE_3D, "Texture3D")+  , (USER_TYPE_TEXTURE_BUFFER, "TextureBuffer")+  , (USER_TYPE_TEXTURE_CUBE, "TextureCube")+  , (USER_TYPE_TEXTURE_CUBE_ARRAY, "TextureCubeArray")+  ]++userTypeId :: (Eq label, IsString label) => label -> Maybe UserType+userTypeId = \case+  "Invalid" -> Just USER_TYPE_INVALID+  "cbuffer" -> Just USER_TYPE_CBUFFER+  "tbuffer" -> Just USER_TYPE_TBUFFER+  "AppendStructuredBuffer" -> Just USER_TYPE_APPEND_STRUCTURED_BUFFER+  "Buffer" -> Just USER_TYPE_BUFFER+  "ByteAddressBuffer" -> Just USER_TYPE_BYTE_ADDRESS_BUFFER+  "ConstantBuffer" -> Just USER_TYPE_CONSTANT_BUFFER+  "ConsumeStructuredBuffer" -> Just USER_TYPE_CONSUME_STRUCTURED_BUFFER+  "InputPatch" -> Just USER_TYPE_INPUT_PATCH+  "OutputPatch" -> Just USER_TYPE_OUTPUT_PATCH+  "RasterizerOrderedBuffer" -> Just USER_TYPE_RASTERIZER_ORDERED_BUFFER+  "RasterizerOrderedByteAddressBuffer" -> Just USER_TYPE_RASTERIZER_ORDERED_BYTE_ADDRESS_BUFFER+  "RasterizerOrderedStructuredBuffer" -> Just USER_TYPE_RASTERIZER_ORDERED_STRUCTURED_BUFFER+  "RasterizerOrderedTexture1D" -> Just USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D+  "RasterizerOrderedTexture1DArray" -> Just USER_TYPE_RASTERIZER_ORDERED_TEXTURE_1D_ARRAY+  "RasterizerOrderedTexture2D" -> Just USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D+  "RasterizerOrderedTexture2DArray" -> Just USER_TYPE_RASTERIZER_ORDERED_TEXTURE_2D_ARRAY+  "RasterizerOrderedTexture3D" -> Just USER_TYPE_RASTERIZER_ORDERED_TEXTURE_3D+  "RaytracingAccelerationStructure" -> Just USER_TYPE_RAYTRACING_ACCELERATION_STRUCTURE+  "RWBuffer" -> Just USER_TYPE_RW_BUFFER+  "RWByteAddressBuffer" -> Just USER_TYPE_RW_BYTE_ADDRESS_BUFFER+  "RWStructuredBuffer" -> Just USER_TYPE_RW_STRUCTURED_BUFFER+  "RWTexture1D" -> Just USER_TYPE_RW_TEXTURE_1D+  "RWTexture1DArray" -> Just USER_TYPE_RW_TEXTURE_1D_ARRAY+  "RWTexture2D" -> Just USER_TYPE_RW_TEXTURE_2D+  "RWTexture2DArray" -> Just USER_TYPE_RW_TEXTURE_2D_ARRAY+  "RWTexture3D" -> Just USER_TYPE_RW_TEXTURE_3D+  "StructuredBuffer" -> Just USER_TYPE_STRUCTURED_BUFFER+  "SubpassInput" -> Just USER_TYPE_SUBPASS_INPUT+  "SubpassInputMs" -> Just USER_TYPE_SUBPASS_INPUT_MS+  "Texture1D" -> Just USER_TYPE_TEXTURE_1D+  "Texture1DArray" -> Just USER_TYPE_TEXTURE_1D_ARRAY+  "Texture2D" -> Just USER_TYPE_TEXTURE_2D+  "Texture2DArray" -> Just USER_TYPE_TEXTURE_2D_ARRAY+  "Texture2DMS" -> Just USER_TYPE_TEXTURE_2DMS+  "Texture2DMSArray" -> Just USER_TYPE_TEXTURE_2DMS_ARRAY+  "Texture3D" -> Just USER_TYPE_TEXTURE_3D+  "TextureBuffer" -> Just USER_TYPE_TEXTURE_BUFFER+  "TextureCube" -> Just USER_TYPE_TEXTURE_CUBE+  "TextureCubeArray" -> Just USER_TYPE_TEXTURE_CUBE_ARRAY+  _ -> Nothing
lib/Data/SpirV/Reflect/InterfaceVariable.hs view
@@ -3,27 +3,28 @@   , WordOffset(..)   ) where +import Data.SpirV.Enum qualified as SpirV+import Data.SpirV.Reflect.Enums qualified as Reflect+import Data.SpirV.Reflect.Traits qualified as Traits+import Data.SpirV.Reflect.TypeDescription (TypeDescription) import Data.Text (Text) import Data.Vector (Vector) import Data.Word (Word32) import GHC.Generics (Generic) -import Data.SpirV.Reflect.Enums qualified as Enums-import Data.SpirV.Reflect.Traits qualified as Traits-import Data.SpirV.Reflect.TypeDescription (TypeDescription)- data InterfaceVariable = InterfaceVariable   { spirv_id         :: Maybe Word32   , name             :: Maybe Text   , location         :: Word32-  , storage_class    :: Enums.StorageClass+  , component        :: Maybe Word32+  , storage_class    :: SpirV.StorageClass   , semantic         :: Maybe Text-  , decoration_flags :: Enums.DecorationFlags-  , built_in         :: Enums.BuiltIn+  , decoration_flags :: Reflect.DecorationFlags+  , built_in         :: Maybe SpirV.BuiltIn   , numeric          :: Traits.Numeric   , array            :: Traits.Array   , members          :: Vector InterfaceVariable-  , format           :: Enums.Format+  , format           :: Reflect.Format   , type_description :: Maybe TypeDescription   , word_offset      :: WordOffset   }
lib/Data/SpirV/Reflect/Module.hs view
@@ -11,6 +11,7 @@ import Data.SpirV.Reflect.DescriptorSet (DescriptorSet) import Data.SpirV.Reflect.Enums qualified as Enums import Data.SpirV.Reflect.InterfaceVariable (InterfaceVariable)+import Data.SpirV.Reflect.SpecializationConstant (SpecializationConstant)  data Module = Module   { generator               :: Enums.Generator@@ -25,5 +26,6 @@   , input_variables         :: Vector InterfaceVariable   , output_variables        :: Vector InterfaceVariable   , push_constants          :: Vector BlockVariable+  , spec_constants          :: Vector SpecializationConstant   }   deriving (Eq, Show, Generic)
+ lib/Data/SpirV/Reflect/SpecializationConstant.hs view
@@ -0,0 +1,14 @@+module Data.SpirV.Reflect.SpecializationConstant+  ( SpecializationConstant(..)+  ) where++import Data.Text (Text)+import Data.Word (Word32)+import GHC.Generics (Generic)++data SpecializationConstant = SpecializationConstant+  { spirv_id    :: Maybe Word32+  , constant_id :: Word32+  , name        :: Maybe Text+  }+  deriving (Eq, Show, Generic)
lib/Data/SpirV/Reflect/Traits.hs view
@@ -1,11 +1,12 @@ module Data.SpirV.Reflect.Traits where +import Data.SpirV.Enum qualified as SpirV+import Data.SpirV.Enum.Dim qualified as Dim+import Data.SpirV.Enum.ImageFormat qualified as ImageFormat import Data.Vector.Storable qualified as Storable import Data.Word (Word32) import GHC.Generics (Generic) -import Data.SpirV.Reflect.Enums qualified as Enums- data Numeric = Numeric   { scalar :: Scalar   , vector :: Vector@@ -13,17 +14,36 @@   }   deriving (Eq, Ord, Show, Generic) +emptyNumeric :: Numeric+emptyNumeric =+  Numeric+  { scalar = emptyScalar+  , vector = emptyVector+  , matrix = emptyMatrix+  }+ data Scalar = Scalar-  { width      :: Word32-  , signedness :: Word32+  { width  :: Word32+  , signed :: Bool   }   deriving (Eq, Ord, Show, Generic) +emptyScalar :: Scalar+emptyScalar = Scalar+  { width = 0+  , signed = False+  }+ data Vector = Vector   { component_count :: Word32   }   deriving (Eq, Ord, Show, Generic) +emptyVector :: Vector+emptyVector = Vector+  { component_count = 0+  }+ data Matrix = Matrix   { column_count :: Word32   , row_count    :: Word32@@ -31,6 +51,13 @@   }   deriving (Eq, Ord, Show, Generic) +emptyMatrix :: Matrix+emptyMatrix = Matrix+  { column_count = 0+  , row_count = 0+  , stride = 0+  }+ data Array = Array   { dims_count :: Word32   , dims       :: Storable.Vector Word32@@ -38,12 +65,29 @@   }   deriving (Eq, Ord, Show, Generic) +emptyArray :: Array+emptyArray = Array+  { dims_count = 0+  , dims = mempty+  , stride = Nothing+  }+ data Image = Image-  { dim          :: Enums.Dim+  { dim          :: SpirV.Dim   , depth        :: Word32   , arrayed      :: Word32   , ms           :: Word32 -- ^ 0: single-sampled, 1: multisampled   , sampled      :: Word32-  , image_format :: Enums.ImageFormat+  , image_format :: SpirV.ImageFormat   }   deriving (Eq, Ord, Show, Generic)++emptyImage :: Image+emptyImage = Image+  { dim = Dim.Dim1D+  , depth = 0+  , arrayed = 0+  , ms = 0+  , sampled = 0+  , image_format = ImageFormat.Unknown+  }
lib/Data/SpirV/Reflect/TypeDescription.hs view
@@ -1,22 +1,24 @@ module Data.SpirV.Reflect.TypeDescription where +import Data.SpirV.Enum qualified as SpirV+import Data.SpirV.Reflect.Enums qualified as Reflect+import Data.SpirV.Reflect.Traits qualified as Traits import Data.Text (Text) import Data.Vector (Vector)-import GHC.Generics (Generic) import Data.Word (Word32)--import Data.SpirV.Reflect.Enums qualified as Enums-import Data.SpirV.Reflect.Traits qualified as Traits+import GHC.Generics (Generic)  data TypeDescription = TypeDescription-  { id                 :: Maybe Word32-  , op                 :: Maybe Enums.Op-  , type_name          :: Maybe Text-  , struct_member_name :: Maybe Text-  , storage_class      :: Enums.StorageClass-  , type_flags         :: Enums.TypeFlags-  , traits             :: Maybe Traits-  , members            :: Vector TypeDescription+  { id                      :: Maybe Word32+  , op                      :: Maybe SpirV.Op+  , type_name               :: Maybe Text+  , struct_member_name      :: Maybe Text+  , storage_class           :: SpirV.StorageClass+  , type_flags              :: Reflect.TypeFlags+  , traits                  :: Maybe Traits+  , struct_type_description :: Maybe TypeDescription -- ^ If underlying type is a struct (ex. array of structs) this gives access to the 'OpTypeStruct'.+  , copied                  :: Maybe Word32 -- ^ Some pointers to SpvReflectTypeDescription are really just copies of another reference to the same OpType.+  , members                 :: Vector TypeDescription -- XXX: deprecated   }   deriving (Eq, Show, Generic) @@ -26,3 +28,10 @@   , array   :: Traits.Array   }   deriving (Eq, Show, Generic)++emptyTraits :: Traits+emptyTraits = Traits+  { numeric = Traits.emptyNumeric+  , image   = Traits.emptyImage+  , array   = Traits.emptyArray+  }
spirv-reflect-types.cabal view
@@ -1,11 +1,11 @@ cabal-version: 1.12 --- This file has been generated from package.yaml by hpack version 0.34.4.+-- This file has been generated from package.yaml by hpack version 0.36.0. -- -- see: https://github.com/sol/hpack  name:           spirv-reflect-types-version:        0.2+version:        0.3 synopsis:       Data types from spirv-reflect tool. category:       Graphics author:         IC Rainbow@@ -36,14 +36,11 @@       Data.SpirV.Reflect.Enums.ResourceFlags       Data.SpirV.Reflect.Enums.Result       Data.SpirV.Reflect.Enums.ShaderStage-      Data.SpirV.Reflect.Enums.SpirvBuiltin-      Data.SpirV.Reflect.Enums.SpirvDim-      Data.SpirV.Reflect.Enums.SpirvImageFormat-      Data.SpirV.Reflect.Enums.SpirvOp-      Data.SpirV.Reflect.Enums.SpirvStorageClass       Data.SpirV.Reflect.Enums.TypeFlags+      Data.SpirV.Reflect.Enums.UserType       Data.SpirV.Reflect.InterfaceVariable       Data.SpirV.Reflect.Module+      Data.SpirV.Reflect.SpecializationConstant       Data.SpirV.Reflect.Traits       Data.SpirV.Reflect.TypeDescription   other-modules:@@ -68,6 +65,7 @@   build-depends:       base >=4.7 && <5     , containers+    , spirv-enum ==0.1.*     , text     , vector   default-language: Haskell2010