Versions in this module Expand all Collapse all v0 v0.18.0 Aug 2, 2026 Changes in this version + const CapabilityRayQueryKHR + const GLSLstd450Acos + const GLSLstd450Acosh + const GLSLstd450Asin + const GLSLstd450Asinh + const GLSLstd450Atan + const GLSLstd450Atan2 + const GLSLstd450Atanh + const GLSLstd450Ceil + const GLSLstd450Cos + const GLSLstd450Cosh + const GLSLstd450Cross + const GLSLstd450Degrees + const GLSLstd450Determinant + const GLSLstd450Distance + const GLSLstd450Exp + const GLSLstd450Exp2 + const GLSLstd450FAbs + const GLSLstd450FClamp + const GLSLstd450FMax + const GLSLstd450FMin + const GLSLstd450FMix + const GLSLstd450FSign + const GLSLstd450FaceForward + const GLSLstd450FindILsb + const GLSLstd450FindSMsb + const GLSLstd450FindUMsb + const GLSLstd450Floor + const GLSLstd450Fma + const GLSLstd450Fract + const GLSLstd450Frexp + const GLSLstd450FrexpStruct + const GLSLstd450IMix + const GLSLstd450InterpolateAtCentroid + const GLSLstd450InterpolateAtOffset + const GLSLstd450InterpolateAtSample + const GLSLstd450InverseSqrt + const GLSLstd450Ldexp + const GLSLstd450Length + const GLSLstd450Log + const GLSLstd450Log2 + const GLSLstd450MatrixInverse + const GLSLstd450Modf + const GLSLstd450ModfStruct + const GLSLstd450NClamp + const GLSLstd450NMax + const GLSLstd450NMin + const GLSLstd450Normalize + const GLSLstd450PackDouble2x32 + const GLSLstd450PackHalf2x16 + const GLSLstd450PackSnorm2x16 + const GLSLstd450PackSnorm4x8 + const GLSLstd450PackUnorm2x16 + const GLSLstd450PackUnorm4x8 + const GLSLstd450Pow + const GLSLstd450Radians + const GLSLstd450Reflect + const GLSLstd450Refract + const GLSLstd450Round + const GLSLstd450RoundEven + const GLSLstd450SAbs + const GLSLstd450SClamp + const GLSLstd450SMax + const GLSLstd450SMin + const GLSLstd450SSign + const GLSLstd450Sin + const GLSLstd450Sinh + const GLSLstd450SmoothStep + const GLSLstd450Sqrt + const GLSLstd450Step + const GLSLstd450Tan + const GLSLstd450Tanh + const GLSLstd450Trunc + const GLSLstd450UClamp + const GLSLstd450UMax + const GLSLstd450UMin + const GLSLstd450UnpackDouble2x32 + const GLSLstd450UnpackHalf2x16 + const GLSLstd450UnpackSnorm2x16 + const GLSLstd450UnpackSnorm4x8 + const GLSLstd450UnpackUnorm2x16 + const GLSLstd450UnpackUnorm4x8 + const GeneratorID + const GroupOperationExclusiveScan + const GroupOperationInclusiveScan + const GroupOperationReduce + const MagicNumber + const MemorySemanticsAcquire + const MemorySemanticsAcquireRelease + const MemorySemanticsAtomicCounterMemory + const MemorySemanticsImageMemory + const MemorySemanticsNone + const MemorySemanticsRelease + const MemorySemanticsSubgroupMemory + const MemorySemanticsUniformMemory + const MemorySemanticsWorkgroupMemory + const OpRayQueryConfirmIntersectionKHR + const OpRayQueryGenerateIntersectionKHR + const OpRayQueryGetIntersectionBarycentricsKHR + const OpRayQueryGetIntersectionFrontFaceKHR + const OpRayQueryGetIntersectionGeometryIndexKHR + const OpRayQueryGetIntersectionInstanceCustomIndexKHR + const OpRayQueryGetIntersectionInstanceIdKHR + const OpRayQueryGetIntersectionInstanceShaderBindingTableRecordOffsetKHR + const OpRayQueryGetIntersectionObjectToWorldKHR + const OpRayQueryGetIntersectionPrimitiveIndexKHR + const OpRayQueryGetIntersectionTKHR + const OpRayQueryGetIntersectionTypeKHR + const OpRayQueryGetIntersectionWorldToObjectKHR + const OpRayQueryGetRayFlagsKHR + const OpRayQueryGetRayTMinKHR + const OpRayQueryInitializeKHR + const OpRayQueryProceedKHR + const OpRayQueryTerminateKHR + const OpSDotKHR + const OpUDotKHR + const PackedVectorFormat4x8Bit + const RayFlagsNone + const ScopeDevice + const ScopeSubgroup + const ScopeWorkgroup + var Version1_0 = Version + var Version1_1 = Version + var Version1_2 = Version + var Version1_3 = Version + var Version1_4 = Version + var Version1_5 = Version + var Version1_6 = Version + type AddressingModel uint32 + const AddressingModelLogical + const AddressingModelPhysical32 + const AddressingModelPhysical64 + type Backend struct + func NewBackend(options Options) *Backend + func (b *Backend) Compile(module *ir.Module) ([]byte, error) + func (b *Backend) Reset() + type Block struct + Body []Instruction + LabelID uint32 + func NewBlock(labelID uint32) Block + func (b *Block) Push(inst Instruction) + type BlockExit struct + Condition uint32 + Kind BlockExitKind + PreambleID uint32 + Target uint32 + type BlockExitDisposition int + const ExitDiscarded + const ExitUsed + type BlockExitKind int + const BlockExitBranch + const BlockExitBreakIf + const BlockExitReturn + type BoundsCheckPolicies struct + ImageLoad BoundsCheckPolicy + ImageStore BoundsCheckPolicy + Index BoundsCheckPolicy + type BoundsCheckPolicy uint8 + const BoundsCheckReadZeroSkipWrite + const BoundsCheckRestrict + const BoundsCheckUnchecked + type BuiltIn uint32 + const BuiltInBaryCoordKHR + const BuiltInClipDistance + const BuiltInCullDistance + const BuiltInFragCoord + const BuiltInFragDepth + const BuiltInFrontFacing + const BuiltInGlobalInvocationID + const BuiltInHelperInvocation + const BuiltInInstanceID + const BuiltInInstanceIndex + const BuiltInInvocationID + const BuiltInLayer + const BuiltInLocalInvocationID + const BuiltInLocalInvocationIndex + const BuiltInNumSubgroups + const BuiltInNumWorkgroups + const BuiltInPatchVertices + const BuiltInPointCoord + const BuiltInPointSize + const BuiltInPosition + const BuiltInPrimitiveID + const BuiltInSampleID + const BuiltInSampleMask + const BuiltInSamplePosition + const BuiltInSubgroupID + const BuiltInSubgroupLocalInvID + const BuiltInSubgroupSize + const BuiltInTessCoord + const BuiltInTessLevelInner + const BuiltInTessLevelOuter + const BuiltInVertexID + const BuiltInVertexIndex + const BuiltInViewIndex + const BuiltInViewportIndex + const BuiltInWorkgroupID + const BuiltInWorkgroupSize + type Capability uint32 + const CapabilityAtomicFloat32AddEXT + const CapabilityClipDistance + const CapabilityDerivativeControl + const CapabilityDotProduct + const CapabilityDotProductInput4x8BitPacked + const CapabilityFloat16 + const CapabilityFloat64 + const CapabilityFragmentBarycentricKHR + const CapabilityGeometry + const CapabilityGroupNonUniform + const CapabilityGroupNonUniformArithmetic + const CapabilityGroupNonUniformBallot + const CapabilityGroupNonUniformQuad + const CapabilityGroupNonUniformShuffle + const CapabilityGroupNonUniformShuffleRel + const CapabilityGroupNonUniformVote + const CapabilityImage1D + const CapabilityImageCubeArray + const CapabilityImageGatherExtended + const CapabilityImageQuery + const CapabilityInt16 + const CapabilityInt64 + const CapabilityInt64Atomics + const CapabilityInt64ImageEXT + const CapabilityInt8 + const CapabilityLinkage + const CapabilityMatrix + const CapabilityMultiView + const CapabilitySampleRateShading + const CapabilitySampled1D + const CapabilitySampledCubeArray + const CapabilityShader + const CapabilityShaderNonUniform + const CapabilityStorageBuffer16BitAccess + const CapabilityStorageImageExtendedFormats + const CapabilityStorageInputOutput16 + const CapabilitySubgroupBallotKHR + const CapabilityUniformAndStorageBuffer16BitAccess + type Decoration uint32 + const DecorationArrayStride + const DecorationBinding + const DecorationBlock + const DecorationBuiltIn + const DecorationCentroid + const DecorationColMajor + const DecorationDescriptorSet + const DecorationFlat + const DecorationIndex + const DecorationLocation + const DecorationMatrixStride + const DecorationNoPerspective + const DecorationNonReadable + const DecorationNonUniform + const DecorationNonWritable + const DecorationOffset + const DecorationRowMajor + const DecorationSample + type ExecutionMode uint32 + const ExecutionModeContractionOff + const ExecutionModeDenormFlushToZero + const ExecutionModeDenormPreserve + const ExecutionModeDepthGreater + const ExecutionModeDepthLess + const ExecutionModeDepthReplacing + const ExecutionModeDepthUnchanged + const ExecutionModeEarlyFragmentTests + const ExecutionModeFinalizer + const ExecutionModeInitializer + const ExecutionModeInputLines + const ExecutionModeInputLinesAdjacency + const ExecutionModeInputPoints + const ExecutionModeInputTrianglesAdjacency + const ExecutionModeInvocations + const ExecutionModeIsolines + const ExecutionModeLocalSize + const ExecutionModeLocalSizeHint + const ExecutionModeLocalSizeHintID + const ExecutionModeLocalSizeID + const ExecutionModeOriginLowerLeft + const ExecutionModeOriginUpperLeft + const ExecutionModeOutputLineStrip + const ExecutionModeOutputPoints + const ExecutionModeOutputTriangleStrip + const ExecutionModeOutputVertices + const ExecutionModePixelCenterInteger + const ExecutionModePointMode + const ExecutionModePostDepthCoverage + const ExecutionModeQuads + const ExecutionModeRoundingModeRTE + const ExecutionModeRoundingModeRTZ + const ExecutionModeSignedZeroInfNanPreserve + const ExecutionModeSpacingEqual + const ExecutionModeSpacingFractionalEven + const ExecutionModeSpacingFractionalOdd + const ExecutionModeSubgroupSize + const ExecutionModeSubgroupsPerWorkgroup + const ExecutionModeSubgroupsPerWorkgroupID + const ExecutionModeTriangles + const ExecutionModeVecTypeHint + const ExecutionModeVertexOrderCcw + const ExecutionModeVertexOrderCw + const ExecutionModeXfb + type ExecutionModel uint32 + const ExecutionModelFragment + const ExecutionModelGLCompute + const ExecutionModelGeometry + const ExecutionModelKernel + const ExecutionModelTessellationControl + const ExecutionModelTessellationEvaluation + const ExecutionModelVertex + type ExpressionEmitter struct + type FunctionBuilder struct + Blocks []TerminatedBlock + Parameters []Instruction + Signature Instruction + Variables []Instruction + func (f *FunctionBuilder) Consume(block Block, terminator Instruction) + func (f *FunctionBuilder) ToInstructions() []Instruction + type FunctionControl uint32 + const FunctionControlConst + const FunctionControlDontInline + const FunctionControlInline + const FunctionControlNone + const FunctionControlPure + type ImageFormat uint32 + const ImageFormatR11fG11fB10f + const ImageFormatR16 + const ImageFormatR16Snorm + const ImageFormatR16f + const ImageFormatR16i + const ImageFormatR16ui + const ImageFormatR32f + const ImageFormatR32i + const ImageFormatR32ui + const ImageFormatR64i + const ImageFormatR64ui + const ImageFormatR8 + const ImageFormatR8Snorm + const ImageFormatR8i + const ImageFormatR8ui + const ImageFormatRg16 + const ImageFormatRg16Snorm + const ImageFormatRg16f + const ImageFormatRg16i + const ImageFormatRg16ui + const ImageFormatRg32f + const ImageFormatRg32i + const ImageFormatRg32ui + const ImageFormatRg8 + const ImageFormatRg8Snorm + const ImageFormatRg8i + const ImageFormatRg8ui + const ImageFormatRgb10A2 + const ImageFormatRgb10a2ui + const ImageFormatRgba16 + const ImageFormatRgba16Snorm + const ImageFormatRgba16f + const ImageFormatRgba16i + const ImageFormatRgba16ui + const ImageFormatRgba32f + const ImageFormatRgba32i + const ImageFormatRgba32ui + const ImageFormatRgba8 + const ImageFormatRgba8Snorm + const ImageFormatRgba8i + const ImageFormatRgba8ui + const ImageFormatUnknown + func StorageFormatToImageFormat(format ir.StorageFormat) ImageFormat + type Instruction struct + Opcode OpCode + Words []uint32 + func (i Instruction) Encode() []uint32 + func (i Instruction) WordCount() int + func (i Instruction) WriteTo(buffer []byte, offset int) int + type InstructionBuilder struct + func NewInstructionBuilder() *InstructionBuilder + func (b *InstructionBuilder) AddString(s string) + func (b *InstructionBuilder) AddWord(word uint32) + func (b *InstructionBuilder) Build(opcode OpCode) Instruction + func (b *InstructionBuilder) Reset() + type LoopContext struct + BreakID uint32 + ContinuingID uint32 + type LoopControl uint32 + const LoopControlDependencyInfinite + const LoopControlDependencyLength + const LoopControlDontUnroll + const LoopControlIterationMultiple + const LoopControlMaxIterations + const LoopControlMinIterations + const LoopControlNone + const LoopControlPartialCount + const LoopControlPeelCount + const LoopControlUnroll + type MemoryModel uint32 + const MemoryModelGLSL450 + const MemoryModelOpenCL + const MemoryModelSimple + const MemoryModelVulkan + type ModuleBuilder struct + func NewModuleBuilder(version Version) *ModuleBuilder + func (b *ModuleBuilder) AddAccessChain(resultType uint32, base uint32, indices ...uint32) uint32 + func (b *ModuleBuilder) AddBinaryOp(opcode OpCode, resultType uint32, left uint32, right uint32) uint32 + func (b *ModuleBuilder) AddBranchConditional(condition uint32, trueLabel uint32, falseLabel uint32) + func (b *ModuleBuilder) AddCapability(capability Capability) + func (b *ModuleBuilder) AddCompositeConstruct(resultType uint32, constituents ...uint32) uint32 + func (b *ModuleBuilder) AddCompositeExtract(resultType uint32, composite uint32, indexes ...uint32) uint32 + func (b *ModuleBuilder) AddConstant(typeID uint32, values ...uint32) uint32 + func (b *ModuleBuilder) AddConstantComposite(typeID uint32, constituents ...uint32) uint32 + func (b *ModuleBuilder) AddConstantFloat32(typeID uint32, value float32) uint32 + func (b *ModuleBuilder) AddConstantFloat64(typeID uint32, value float64) uint32 + func (b *ModuleBuilder) AddConstantNull(typeID uint32) uint32 + func (b *ModuleBuilder) AddCopyLogical(resultType uint32, operand uint32) uint32 + func (b *ModuleBuilder) AddDecorate(id uint32, decoration Decoration, params ...uint32) + func (b *ModuleBuilder) AddEntryPoint(execModel ExecutionModel, funcID uint32, name string, interfaces []uint32) + func (b *ModuleBuilder) AddExecutionMode(entryPoint uint32, mode ExecutionMode, params ...uint32) + func (b *ModuleBuilder) AddExtInst(resultType uint32, extSet uint32, instruction uint32, operands ...uint32) uint32 + func (b *ModuleBuilder) AddExtInstImport(name string) uint32 + func (b *ModuleBuilder) AddExtension(name string) + func (b *ModuleBuilder) AddFunction(funcType uint32, returnType uint32, control FunctionControl) uint32 + func (b *ModuleBuilder) AddFunctionEnd() + func (b *ModuleBuilder) AddFunctionParameter(typeID uint32) uint32 + func (b *ModuleBuilder) AddKill() + func (b *ModuleBuilder) AddLabel() uint32 + func (b *ModuleBuilder) AddLabelWithID(id uint32) + func (b *ModuleBuilder) AddLoad(resultType uint32, pointer uint32) uint32 + func (b *ModuleBuilder) AddLoopMerge(mergeLabel uint32, continueLabel uint32, control LoopControl) + func (b *ModuleBuilder) AddMemberDecorate(structID, member uint32, decoration Decoration, params ...uint32) + func (b *ModuleBuilder) AddMemberName(structID, member uint32, name string) + func (b *ModuleBuilder) AddName(id uint32, name string) + func (b *ModuleBuilder) AddReturn() + func (b *ModuleBuilder) AddReturnValue(valueID uint32) + func (b *ModuleBuilder) AddSelect(resultType uint32, condition uint32, accept uint32, reject uint32) uint32 + func (b *ModuleBuilder) AddSelectionMerge(mergeLabel uint32, control SelectionControl) + func (b *ModuleBuilder) AddStore(pointer uint32, value uint32) + func (b *ModuleBuilder) AddString(text string) uint32 + func (b *ModuleBuilder) AddTypeArray(elementType uint32, length uint32) uint32 + func (b *ModuleBuilder) AddTypeBool() uint32 + func (b *ModuleBuilder) AddTypeFloat(width uint32) uint32 + func (b *ModuleBuilder) AddTypeFunction(returnType uint32, paramTypes ...uint32) uint32 + func (b *ModuleBuilder) AddTypeInt(width uint32, signed bool) uint32 + func (b *ModuleBuilder) AddTypeMatrix(columnType uint32, columnCount uint32) uint32 + func (b *ModuleBuilder) AddTypePointer(storageClass StorageClass, baseType uint32) uint32 + func (b *ModuleBuilder) AddTypeRuntimeArray(elementType uint32) uint32 + func (b *ModuleBuilder) AddTypeSampler() uint32 + func (b *ModuleBuilder) AddTypeStruct(memberTypes ...uint32) uint32 + func (b *ModuleBuilder) AddTypeVector(componentType uint32, count uint32) uint32 + func (b *ModuleBuilder) AddTypeVoid() uint32 + func (b *ModuleBuilder) AddUnaryOp(opcode OpCode, resultType uint32, operand uint32) uint32 + func (b *ModuleBuilder) AddUnreachable() + func (b *ModuleBuilder) AddVariable(pointerType uint32, storageClass StorageClass) uint32 + func (b *ModuleBuilder) AddVariableWithInit(pointerType uint32, storageClass StorageClass, initID uint32) uint32 + func (b *ModuleBuilder) AddVectorExtractDynamic(resultType uint32, vector uint32, index uint32) uint32 + func (b *ModuleBuilder) AddVectorShuffle(resultType uint32, vec1 uint32, vec2 uint32, components []uint32) uint32 + func (b *ModuleBuilder) AllocID() uint32 + func (b *ModuleBuilder) Build() []byte + func (b *ModuleBuilder) RequireVersion(minVersion Version) + func (b *ModuleBuilder) Reset(version Version) + func (b *ModuleBuilder) SetMemoryModel(addressing AddressingModel, memory MemoryModel) + type OpCode uint16 + const OpAccessChain + const OpAll + const OpAny + const OpArrayLength + const OpAtomicAnd + const OpAtomicCompareExch + const OpAtomicExchange + const OpAtomicFAddEXT + const OpAtomicIAdd + const OpAtomicIDecrement + const OpAtomicIIncrement + const OpAtomicISub + const OpAtomicLoad + const OpAtomicOr + const OpAtomicSMax + const OpAtomicSMin + const OpAtomicStore + const OpAtomicUMax + const OpAtomicUMin + const OpAtomicXor + const OpBitCount + const OpBitFieldInsert + const OpBitFieldSExtract + const OpBitFieldUExtract + const OpBitReverse + const OpBitcast + const OpBitwiseAnd + const OpBitwiseOr + const OpBitwiseXor + const OpBranch + const OpBranchConditional + const OpCapability + const OpCompositeConstruct + const OpCompositeExtract + const OpConstant + const OpConstantComposite + const OpConstantFalse + const OpConstantNull + const OpConstantTrue + const OpControlBarrier + const OpConvertFToS + const OpConvertFToU + const OpConvertSToF + const OpConvertUToF + const OpCopyLogical + const OpDPdx + const OpDPdxCoarse + const OpDPdxFine + const OpDPdy + const OpDPdyCoarse + const OpDPdyFine + const OpDecorate + const OpDot + const OpEntryPoint + const OpExecutionMode + const OpExtInst + const OpExtInstImport + const OpExtension + const OpFAdd + const OpFConvert + const OpFDiv + const OpFMod + const OpFMul + const OpFNegate + const OpFOrdEqual + const OpFOrdGreaterThan + const OpFOrdGreaterThanEqual + const OpFOrdLessThan + const OpFOrdLessThanEqual + const OpFOrdNotEqual + const OpFRem + const OpFSub + const OpFunction + const OpFunctionCall + const OpFunctionEnd + const OpFunctionParameter + const OpFwidth + const OpFwidthCoarse + const OpFwidthFine + const OpGroupNonUniformAll + const OpGroupNonUniformAllEqual + const OpGroupNonUniformAny + const OpGroupNonUniformBallot + const OpGroupNonUniformBallotBitCount + const OpGroupNonUniformBallotBitExtract + const OpGroupNonUniformBallotFindLSB + const OpGroupNonUniformBallotFindMSB + const OpGroupNonUniformBitwiseAnd + const OpGroupNonUniformBitwiseOr + const OpGroupNonUniformBitwiseXor + const OpGroupNonUniformBroadcast + const OpGroupNonUniformBroadcastFirst + const OpGroupNonUniformElect + const OpGroupNonUniformFAdd + const OpGroupNonUniformFMax + const OpGroupNonUniformFMin + const OpGroupNonUniformFMul + const OpGroupNonUniformIAdd + const OpGroupNonUniformIMul + const OpGroupNonUniformInverseBallot + const OpGroupNonUniformLogicalAnd + const OpGroupNonUniformLogicalOr + const OpGroupNonUniformLogicalXor + const OpGroupNonUniformQuadBroadcast + const OpGroupNonUniformQuadSwap + const OpGroupNonUniformSMax + const OpGroupNonUniformSMin + const OpGroupNonUniformShuffle + const OpGroupNonUniformShuffleDown + const OpGroupNonUniformShuffleUp + const OpGroupNonUniformShuffleXor + const OpGroupNonUniformUMax + const OpGroupNonUniformUMin + const OpIAdd + const OpIEqual + const OpIMul + const OpINotEqual + const OpISub + const OpImageDrefGather + const OpImageFetch + const OpImageGather + const OpImageQueryLevels + const OpImageQueryLod + const OpImageQuerySamples + const OpImageQuerySize + const OpImageQuerySizeLod + const OpImageRead + const OpImageSampleDrefExplicitLod + const OpImageSampleDrefImplicitLod + const OpImageSampleExplicitLod + const OpImageSampleImplicitLod + const OpImageSampleProjDrefExplicit + const OpImageSampleProjDrefImplicit + const OpImageSampleProjExplicitLod + const OpImageSampleProjImplicitLod + const OpImageTexelPointer + const OpImageWrite + const OpIsInf + const OpIsNan + const OpKill + const OpLabel + const OpLoad + const OpLogicalAnd + const OpLogicalEqual + const OpLogicalNot + const OpLogicalNotEqual + const OpLogicalOr + const OpLoopMerge + const OpMatrixTimesMatrix + const OpMatrixTimesScalar + const OpMatrixTimesVector + const OpMemberDecorate + const OpMemberName + const OpMemoryBarrier + const OpMemoryModel + const OpName + const OpNop + const OpNot + const OpPhi + const OpQuantizeToF16 + const OpReturn + const OpReturnValue + const OpSConvert + const OpSDiv + const OpSGreaterThan + const OpSGreaterThanEqual + const OpSLessThan + const OpSLessThanEqual + const OpSMod + const OpSNegate + const OpSRem + const OpSampledImage + const OpSelect + const OpSelectionMerge + const OpShiftLeftLogical + const OpShiftRightArithmetic + const OpShiftRightLogical + const OpSource + const OpStore + const OpString + const OpSwitch + const OpTranspose + const OpTypeAccelerationStructureKHR + const OpTypeArray + const OpTypeBool + const OpTypeFloat + const OpTypeFunction + const OpTypeImage + const OpTypeInt + const OpTypeMatrix + const OpTypePointer + const OpTypeRayQueryKHR + const OpTypeRuntimeArray + const OpTypeSampledImage + const OpTypeSampler + const OpTypeStruct + const OpTypeVector + const OpTypeVoid + const OpUConvert + const OpUDiv + const OpUGreaterThan + const OpUGreaterThanEqual + const OpULessThan + const OpULessThanEqual + const OpUMod + const OpUnreachable + const OpVariable + const OpVectorExtractDynamic + const OpVectorShuffle + const OpVectorTimesMatrix + const OpVectorTimesScalar + type Options struct + AdjustCoordinateSpace bool + BoundsCheckPolicies BoundsCheckPolicies + Capabilities []Capability + CapabilitiesAvailable map[Capability]struct{} + Debug bool + ForceLoopBounding bool + ForcePointSize bool + RayQueryInitTracking bool + UseStorageInputOutput16 bool + Validation bool + Version Version + func DefaultOptions() Options + type SelectionControl uint32 + const SelectionControlDontFlatten + const SelectionControlFlatten + const SelectionControlNone + type StorageClass uint32 + const StorageClassAtomicCounter + const StorageClassCrossWorkgroup + const StorageClassFunction + const StorageClassGeneric + const StorageClassImage + const StorageClassInput + const StorageClassOutput + const StorageClassPrivate + const StorageClassPushConstant + const StorageClassStorageBuffer + const StorageClassTaskPayloadWorkgroupEXT + const StorageClassUniform + const StorageClassUniformConstant + const StorageClassWorkgroup + type TerminatedBlock struct + Body []Instruction + LabelID uint32 + type Version struct + Major uint8 + Minor uint8 + type Writer struct + func NewWriter(options Options) *Writer