-
Notifications
You must be signed in to change notification settings - Fork 247
Open
Labels
s: needs updateThis issue needs a follow up or investigation whether it still applies.This issue needs a follow up or investigation whether it still applies.t: tracking issueAn issue tracking the progress of a specific feature or change.An issue tracking the progress of a specific feature or change.
Description
This is a tracking issue for tracking what rust-gpu can produce in terms of SPIR-V assembly.
Emoji Legend
- π β Missing
β οΈ β Incomplete- β β Complete (excluding vendor specific extensions)
Execution Models β
Details
- Vertex
- Tessellation Control
- Tessellation Evaluation
- Geometry
- Fragment
- GLCompute
- Kernel (Compute)
- TaskNV
- MeshNV
- Ray Generation NV
- Ray Intersection NV
- Ray Any-hit NV
- Ray Closest-hit NV
- Ray Miss NV
- Ray Callable NV
Addressing Model β οΈ
Details
- Logical
- Physical32
- Physical64
- PhysicalStorageBuffer64
Memory Model β
Details
- Simple
- GLSL450
- OpenCL
- Vulkan
Execution Modes β οΈ
Details
All models β
Details
- Initializer
- Finalizer
- SubgroupSize
- SubgroupsPerWorkgroup
- SubgroupsPerWorkgroupId
- PostDepthCoverage
- DenormPreserve
- DenormFlushToZero
- SignedZeroInfNanPreserve
- RoundingModeRTE
- RoundingModeRTZ
Kernel β
Details
- LocalSizeHint
- LocalSizeHintId
- VecTypeHint
- ContractionOff
Kernel & GLCompute β
Details
- LocalSize
- LocalSizeId
Geometry β
Details
- Invocations
- InputPoints
- InputLines
- InputLinesAdjacency
- InputTrianglesAdjacency
Geometry & Tessellation β
Details
- Triangles
- OutputVertices
Fragment β οΈ
Details
- PixelCenterInteger
- OriginUpperLeft
- OriginLowerLeft
- EarlyFragmentTests
- DepthReplacing
- DepthGreater
- DepthLess
- DepthUnchanged
- OutputPoints
- OutputLineStrip
- OutputTriangleStrip
Tessellation β οΈ
Details
- SpacingEqual
- SpacingFractionalEven
- SpacingFractionalOdd
- VertexOrderCw
- VertexOrderCcw
- PointMode
- Quads
- Isolines
Vertex β
- Xfb
Storage Classes β
Details
- UniformConstant
- Input
- Uniform
- Output
- Workgroup
- CrossWorkgroup
- Private
- Function
- Generic
- PushConstant
- AtomicCounter
- Image
- StorageBuffer
- CallableDataKHR
- IncomingCallableDataKHR
- RayPayloadKHR
- HitAttributeKHR
- IncomingRayPayloadKHR
- ShaderRecordBufferKHR
- PhysicalStorageBuffer
Image β οΈ
Details
- OpSampledImage
- OpImageSampleImplicitLod
- OpImageSampleExplicitLod
- OpImageSampleDrefImplicitLod
- OpImageSampleDrefExplicitLod
- OpImageSampleProjImplicitLod
- OpImageSampleProjExplicitLod
- OpImageSampleProjDrefImplicitLod
- OpImageSampleProjDrefExplicitLod
- OpImageFetch
- OpImageGather
- OpImageDrefGather
- OpImageRead
- OpImageWrite
- OpImageQueryFormat
- OpImageQueryOrder
- OpImageQuerySizeLod
- OpImageQuerySize
- OpImageQueryLod
- OpImageQueryLevels
- OpImageQuerySamples
- OpImageSparseSampleImplicitLod
- OpImageSparseSampleExplicitLod
- OpImageSparseSampleDrefImplicitLod
- OpImageSparseSampleDrefExplicitLod
- OpImageSparseFetch
- OpImageSparseGather
- OpImageSparseDrefGather
- OpImageSparseTexelsResident
- OpImageSparseRead
Conversions π
Details
- Float <-> unsigned integer
- Float <-> signed integer
- OpUconvert
- OpSConvert
- OpFConvert
- OpQuantizeToF16
- OpConvertPtrToU
- OpSatConvertSToU
- OpSatConvertUToS
- OpConvertUToPtr
- OpPtrCastToGeneric
- OpGenericCastToPtr
- OpGenericCastToPtrExplicit
- OpBitcast
Composite β οΈ
Details
- OpVectorExtractDynamic
- OpVectorInsertDynamic
- OpVectorShuffle
- OpTranspose
Arithmetic β οΈ
Details
- OpSNegate
- OpFNegate
- OpIAdd
- OpFAdd
- OpISub
- OpFSub
- OpIMul
- OpFMul
- OpUDiv
- OpSDiv
- OpFDiv
- OpUMod
- OpSRem
- OpSMod
- OpFRem
- OpFMod
- OpVectorTimesScalar
- OpMatrixTimesScalar
- OpVectorTimesMatrix
- OpMatrixTimesVector
- OpMatrixTimesMatrix
- OpOuterProduct
- OpDot
- OpIAddCarry
- OpISubBorrow
- OpUMulExtended
- OpSMulExtended
Bit β οΈ
Details
- OpShiftRightLogical
- OpShiftRightArithmetic
- OpShiftLeftLogical
- OpBitwiseOr
- OpBitwiseXor
- OpBitwiseAnd
- OpNot
- OpBitFieldInsert
- OpBitFieldSExtract
- OpBitFieldUExtract
- OpBitReverse
- OpBitCount
Relational & Logical β οΈ
Details
- OpAny
- OpAll
- OpIsNan
- OpIsInf
- OpIsFinite
- OpIsNormal
- OpSignBitSet
- OpLessOrGreater
- OpOrdered
- OpUnordered
- OpLogicalEqual
- OpLogicalNotEqual
- OpLogicalOr
- OpLogicalAnd
- OpLogicalNot
- OpSelect
- OpIEqual
- OpINotEqual
- OpUGreaterThan
- OpSGreaterThan
- OpUGreaterThanEqual
- OpSGreaterThanEqual
- OpULessThan
- OpSLessThan
- OpULessThanEqual
- OpSLessThanEqual
- OpFOrdEqual
- OpFUnordEqual
- OpFOrdNotEqual
- OpFUnordNotEqual
- OpFOrdLessThan
- OpFUnordLessThan
- OpFOrdGreaterThan
- OpFUnordGreaterThan
- OpFOrdLessThanEqual
- OpFUnordLessThanEqual
- OpFOrdGreaterThanEqual
- OpFUnordGreaterThanEqual
Derivative β
Details
- OpDPdx
- OpDPdy
- OpFwidth
- OpDPdxFine
- OpDPdyFine
- OpFwidthFine
- OpDPdxCoarse
- OpDPdyCoarse
- OpFwidthCoarse
Atomic π
Details
- OpAtomicLoad
- OpAtomicStore
- OpAtomicExchange
- OpAtomicCompareExchange
- OpAtomicCompareExchangeWeak
- OpAtomicIIncrement
- OpAtomicIDecrement
- OpAtomicIAdd
- OpAtomicISub
- OpAtomicSMin
- OpAtomicUMin
- OpAtomicSMax
- OpAtomicUMax
- OpAtomicAnd
- OpAtomicOr
- OpAtomicXor
- OpAtomicFlagTestAndSet
- OpAtomicFlagClear
Barrier π
Details
- OpControlBarrier
- OpMemoryBarrier
- OpNamedBarrierInitialize
- OpMemoryNamedBarrier
Group & Subgroup π
Details
- OpGroupAsyncCopy
- OpGroupWaitEvents
- OpGroupAll
- OpGroupAny
- OpGroupBroadcast
- OpGroupIAdd
- OpGroupFAdd
- OpGroupFMin
- OpGroupUMin
- OpGroupSMin
- OpGroupFMax
- OpGroupUMax
- OpGroupSMax
Device-side Enqueue π
Details
- OpEnqueueMarker
- OpEnqueueKernel
- OpGetKernelNDrangeSubGroupCount
- OpGetKernelNDrangeMaxSubGroupSize
- OpGetKernelWorkGroupSize
- OpGetKernelPreferredWorkGroupSizeMultiple
- OpRetainEvent
- OpReleaseEvent
- OpCreateUserEvent
- OpIsValidEvent
- OpSetUserEventStatus
- OpCaptureEventProfilingInfo
- OpGetDefaultQueue
- OpBuildNDRange
- OpGetKernelLocalSizeForSubgroupCount
- OpGetKernelMaxNumSubgroups
Pipe π
Details
- OpReadPipe
- OpWritePipe
- OpReservedReadPipe
- OpReservedWritePipe
- OpReserveReadPipePackets
- OpReserveWritePipePackets
- OpCommitReadPipe
- OpCommitWritePipe
- OpIsValidReserveId
- OpGetNumPipePackets
- OpGetMaxPipePackets
- OpGroupReserveReadPipePackets
- OpGroupReserveWritePipePackets
- OpGroupCommitReadPipe
- OpGroupCommitWritePipe
- OpConstantPipeStorage
- OpCreatePipeFromPipeStorage
Non-uniform π
Details
- OpGroupNonUniformElect
- OpGroupNonUniformAll
- OpGroupNonUniformAny
- OpGroupNonUniformAllEqual
- OpGroupNonUniformBroadcast
- OpGroupNonUniformBroadcastFirst
- OpGroupNonUniformBallot
- OpGroupNonUniformInverseBallot
- OpGroupNonUniformBallotBitExtract
- OpGroupNonUniformBallotBitCount
- OpGroupNonUniformBallotFindLSB
- OpGroupNonUniformBallotFindMSB
- OpGroupNonUniformShuffle
- OpGroupNonUniformShuffleXor
- OpGroupNonUniformShuffleUp
- OpGroupNonUniformShuffleDown
- OpGroupNonUniformIAdd
- OpGroupNonUniformFAdd
- OpGroupNonUniformIMul
- OpGroupNonUniformFMul
- OpGroupNonUniformSMin
- OpGroupNonUniformUMin
- OpGroupNonUniformFMin
- OpGroupNonUniformSMax
- OpGroupNonUniformUMax
- OpGroupNonUniformFMax
- OpGroupNonUniformBitwiseAnd
- OpGroupNonUniformBitwiseOr
- OpGroupNonUniformBitwiseXor
- OpGroupNonUniformLogicalAnd
- OpGroupNonUniformLogicalOr
- OpGroupNonUniformLogicalXor
- OpGroupNonUniformQuadBroadcast
- OpGroupNonUniformQuadSwap
Metadata
Metadata
Assignees
Labels
s: needs updateThis issue needs a follow up or investigation whether it still applies.This issue needs a follow up or investigation whether it still applies.t: tracking issueAn issue tracking the progress of a specific feature or change.An issue tracking the progress of a specific feature or change.