Skip to content

Latest commit

 

History

History
309 lines (308 loc) · 28.8 KB

OPCODE_CORE.md

File metadata and controls

309 lines (308 loc) · 28.8 KB

SPIR-V 1.0

Type Opcode Status
Miscellaneous Instructions OpNop ✅DONE
OpUndef 🟥TODO
Debug Instructions OpSourceContinued 🟥TODO
OpSource ✅DONE
OpSourceExtension ✅DONE
OpName ✅DONE
OpMemberName ✅DONE
OpString 🟥TODO
OpLine 🟥TODO
OpNoLine 🟥TODO
Annotation Instructions OpDecorate ✅DONE
OpMemberDecorate ✅DONE
OpDecorationGroup 🟥TODO
OpGroupDecorate 🟥TODO
OpGroupMemberDecorate 🟥TODO
Extension Instructions OpExtension ✅DONE
OpExtInstImport ✅DONE
OpExtInst ✅DONE
Mode-Setting Instructions OpMemoryModel ✅DONE
OpEntryPoint ✅DONE
OpExecutionMode ✅DONE
OpCapability ✅DONE
Type-Declaration Instructions OpTypeVoid ✅DONE
OpTypeBool ✅DONE
OpTypeInt ✅DONE
OpTypeFloat ✅DONE
OpTypeVector ✅DONE
OpTypeMatrix ✅DONE
OpTypeImage ✅DONE
OpTypeSampler ✅DONE
OpTypeSampledImage ✅DONE
OpTypeArray ✅DONE
OpTypeRuntimeArray ✅DONE
OpTypeStruct ✅DONE
OpTypeOpaque 🟥TODO
OpTypePointer ✅DONE
OpTypeFunction ✅DONE
OpTypeEvent 🟥TODO
OpTypeDeviceEvent 🟥TODO
OpTypeReserveId 🟥TODO
OpTypeQueue 🟥TODO
OpTypePipe 🟥TODO
OpTypeForwardPointer 🟥TODO
Constant-Creation Instructions OpConstantTrue ✅DONE
OpConstantFalse ✅DONE
OpConstant ✅DONE
OpConstantComposite ✅DONE
OpConstantSampler ✅DONE
OpConstantNull ✅DONE
OpSpecConstantTrue 🟥TODO
OpSpecConstantFalse 🟥TODO
OpSpecConstant 🟥TODO
OpSpecConstantComposite 🟥TODO
OpSpecConstantOp 🟥TODO
Memory Instructions OpVariable ✅DONE
OpImageTexelPointer 🟥TODO
OpLoad ✅DONE
OpStore ✅DONE
OpCopyMemory 🟥TODO
OpCopyMemorySized 🟥TODO
OpAccessChain ✅DONE
OpInBoundsAccessChain 🟥TODO
OpPtrAccessChain 🟥TODO
OpArrayLength ✅DONE
OpGenericPtrMemSemantics 🟥TODO
OpInBoundsPtrAccessChain 🟥TODO
Function Instructions OpFunction ✅DONE
OpFunctionParameter ✅DONE
OpFunctionEnd ✅DONE
OpFunctionCall ✅DONE
Image Instructions OpSampledImage ✅DONE
OpImageSampleImplicitLod ✅DONE
OpImageSampleExplicitLod ✅DONE
OpImageSampleDrefImplicitLod ✅DONE
OpImageSampleDrefExplicitLod ✅DONE
OpImageSampleProjImplicitLod ✅DONE
OpImageSampleProjExplicitLod ✅DONE
OpImageSampleProjDrefImplicitLod ✅DONE
OpImageSampleProjDrefExplicitLod ✅DONE
OpImageFetch ✅DONE
OpImageGather 🟥TODO
OpImageDrefGather 🟥TODO
OpImageRead 🟥TODO
OpImageWrite 🟥TODO
OpImage ✅DONE
OpImageQueryFormat ✅DONE
OpImageQueryOrder ✅DONE
OpImageQuerySizeLod ✅DONE
OpImageQuerySize ✅DONE
OpImageQueryLod ✅DONE
OpImageQueryLevels ✅DONE
OpImageQuerySamples ✅DONE
OpImageSparseSampleImplicitLod 🟥TODO
OpImageSparseSampleExplicitLod 🟥TODO
OpImageSparseSampleDrefImplicitLod 🟥TODO
OpImageSparseSampleDrefExplicitLod 🟥TODO
OpImageSparseSampleProjImplicitLod 🟥TODO
OpImageSparseSampleProjExplicitLod 🟥TODO
OpImageSparseSampleProjDrefImplicitLod 🟥TODO
OpImageSparseSampleProjDrefExplicitLod 🟥TODO
OpImageSparseFetch 🟥TODO
OpImageSparseGather 🟥TODO
OpImageSparseDrefGather 🟥TODO
OpImageSparseTexelsResident 🟥TODO
OpImageSparseRead 🟥TODO
Conversion Instructions OpConvertFToU ✅DONE
OpConvertFToS ✅DONE
OpConvertSToF ✅DONE
OpConvertUToF ✅DONE
OpUConvert 🟥TODO
OpSConvert 🟥TODO
OpFConvert 🟥TODO
OpQuantizeToF16 🟥TODO
OpConvertPtrToU 🟥TODO
OpSatConvertSToU 🟥TODO
OpSatConvertUToS 🟥TODO
OpConvertUToPtr 🟥TODO
OpPtrCastToGeneric 🟥TODO
OpGenericCastToPtr 🟥TODO
OpGenericCastToPtrExplicit 🟥TODO
OpBitcast ✅DONE
Composite Instructions OpVectorExtractDynamic 🟥TODO
OpVectorInsertDynamic 🟥TODO
OpVectorShuffle ✅DONE
OpCompositeConstruct ✅DONE
OpCompositeExtract ✅DONE
OpCompositeInsert 🟥TODO
OpCopyObject ✅DONE
OpTranspose ✅DONE
Arithmetic Instructions OpSNegate ✅DONE
OpFNegate ✅DONE
OpIAdd ✅DONE
OpFAdd ✅DONE
OpISub ✅DONE
OpFSub ✅DONE
OpIMul ✅DONE
OpFMul ✅DONE
OpUDiv ✅DONE
OpSDiv ✅DONE
OpFDiv ✅DONE
OpUMod ✅DONE
OpSRem ✅DONE
OpSMod ✅DONE
OpFRem ✅DONE
OpFMod ✅DONE
OpVectorTimesScalar ✅DONE
OpMatrixTimesScalar ✅DONE
OpVectorTimesMatrix ✅DONE
OpMatrixTimesVector ✅DONE
OpMatrixTimesMatrix ✅DONE
OpOuterProduct ✅DONE
OpDot ✅DONE
OpIAddCarry ✅DONE
OpISubBorrow ✅DONE
OpUMulExtended ✅DONE
OpSMulExtended ✅DONE
Bit Instructions OpShiftRightLogical ✅DONE
OpShiftRightArithmetic ✅DONE
OpShiftLeftLogical ✅DONE
OpBitwiseOr ✅DONE
OpBitwiseXor ✅DONE
OpBitwiseAnd ✅DONE
OpNot ✅DONE
OpBitFieldInsert ✅DONE
OpBitFieldSExtract ✅DONE
OpBitFieldUExtract ✅DONE
OpBitReverse ✅DONE
OpBitCount ✅DONE
Relational and Logical Instructions OpAny ✅DONE
OpAll ✅DONE
OpIsNan ✅DONE
OpIsInf ✅DONE
OpIsFinite 🟥TODO
OpIsNormal 🟥TODO
OpSignBitSet 🟥TODO
OpLessOrGreater 🟥TODO
OpOrdered 🟥TODO
OpUnordered 🟥TODO
OpLogicalEqual ✅DONE
OpLogicalNotEqual ✅DONE
OpLogicalOr ✅DONE
OpLogicalAnd ✅DONE
OpLogicalNot ✅DONE
OpSelect ✅DONE
OpIEqual ✅DONE
OpINotEqual ✅DONE
OpUGreaterThan ✅DONE
OpSGreaterThan ✅DONE
OpUGreaterThanEqual ✅DONE
OpSGreaterThanEqual ✅DONE
OpULessThan ✅DONE
OpSLessThan ✅DONE
OpULessThanEqual ✅DONE
OpSLessThanEqual ✅DONE
OpFOrdEqual ✅DONE
OpFUnordEqual ✅DONE
OpFOrdNotEqual ✅DONE
OpFUnordNotEqual ✅DONE
OpFOrdLessThan ✅DONE
OpFUnordLessThan ✅DONE
OpFOrdGreaterThan ✅DONE
OpFUnordGreaterThan ✅DONE
OpFOrdLessThanEqual ✅DONE
OpFUnordLessThanEqual ✅DONE
OpFOrdGreaterThanEqual ✅DONE
OpFUnordGreaterThanEqual ✅DONE
Derivative Instructions OpDPdx 🟥TODO
OpDPdy 🟥TODO
OpFwidth 🟥TODO
OpDPdxFine 🟥TODO
OpDPdyFine 🟥TODO
OpFwidthFine 🟥TODO
OpDPdxCoarse 🟥TODO
OpDPdyCoarse 🟥TODO
OpFwidthCoarse 🟥TODO
Control-Flow Instructions OpPhi 🟥TODO
OpLoopMerge 🟥TODO
OpSelectionMerge 🟥TODO
OpLabel ✅DONE
OpBranch ✅DONE
OpBranchConditional ✅DONE
OpSwitch ✅DONE
OpKill ✅DONE
OpReturn ✅DONE
OpReturnValue ✅DONE
OpUnreachable ✅DONE
OpLifetimeStart 🟥TODO
OpLifetimeStop 🟥TODO
Atomic Instructions OpAtomicLoad 🟥TODO
OpAtomicStore 🟥TODO
OpAtomicExchange 🟥TODO
OpAtomicCompareExchange 🟥TODO
OpAtomicCompareExchangeWeak 🟥TODO
OpAtomicIIncrement 🟥TODO
OpAtomicIDecrement 🟥TODO
OpAtomicIAdd 🟥TODO
OpAtomicISub 🟥TODO
OpAtomicSMin 🟥TODO
OpAtomicUMin 🟥TODO
OpAtomicSMax 🟥TODO
OpAtomicUMax 🟥TODO
OpAtomicAnd 🟥TODO
OpAtomicOr 🟥TODO
OpAtomicXor 🟥TODO
OpAtomicFlagTestAndSet 🟥TODO
OpAtomicFlagClear 🟥TODO
Primitive Instructions OpEmitVertex 🟥TODO
OpEndPrimitive 🟥TODO
OpEmitStreamVertex 🟥TODO
OpEndStreamPrimitive 🟥TODO
Barrier Instructions OpControlBarrier 🟥TODO
OpMemoryBarrier 🟥TODO
Group Instructions OpGroupAsyncCopy 🟥TODO
OpGroupWaitEvents 🟥TODO
OpGroupAll 🟥TODO
OpGroupAny 🟥TODO
OpGroupBroadcast 🟥TODO
OpGroupIAdd 🟥TODO
OpGroupFAdd 🟥TODO
OpGroupFMin 🟥TODO
OpGroupUMin 🟥TODO
OpGroupSMin 🟥TODO
OpGroupFMax 🟥TODO
OpGroupUMax 🟥TODO
OpGroupSMax 🟥TODO
OpSubgroupBallotKHR 🟥TODO
OpSubgroupFirstInvocationKHR 🟥TODO
OpSubgroupReadInvocationKHR 🟥TODO
OpGroupIAddNonUniformAMD 🟥TODO
OpGroupFAddNonUniformAMD 🟥TODO
OpGroupFMinNonUniformAMD 🟥TODO
OpGroupUMinNonUniformAMD 🟥TODO
OpGroupSMinNonUniformAMD 🟥TODO
OpGroupFMaxNonUniformAMD 🟥TODO
OpGroupUMaxNonUniformAMD 🟥TODO
OpGroupSMaxNonUniformAMD 🟥TODO
Device-Side Enqueue Instructions OpEnqueueMarker 🟥TODO
OpEnqueueKernel 🟥TODO
OpGetKernelNDrangeSubGroupCount 🟥TODO
OpGetKernelNDrangeMaxSubGroupSize 🟥TODO
OpGetKernelWorkGroupSize 🟥TODO
OpGetKernelPreferredWorkGroupSizeMultiple 🟥TODO
OpRetainEvent 🟥TODO
OpReleaseEvent 🟥TODO
OpCreateUserEvent 🟥TODO
OpIsValidEvent 🟥TODO
OpSetUserEventStatus 🟥TODO
OpCaptureEventProfilingInfo 🟥TODO
OpGetDefaultQueue 🟥TODO
OpBuildNDRange 🟥TODO
Pipe Instructions OpReadPipe 🟥TODO
OpWritePipe 🟥TODO
OpReservedReadPipe 🟥TODO
OpReservedWritePipe 🟥TODO
OpReserveReadPipePackets 🟥TODO
OpReserveWritePipePackets 🟥TODO
OpCommitReadPipe 🟥TODO
OpCommitWritePipe 🟥TODO
OpIsValidReserveId 🟥TODO
OpGetNumPipePackets 🟥TODO
OpGetMaxPipePackets 🟥TODO
OpGroupReserveReadPipePackets 🟥TODO
OpGroupReserveWritePipePackets 🟥TODO
OpGroupCommitReadPipe 🟥TODO
OpGroupCommitWritePipe 🟥TODO