Overview
User Guide
Toggle navigation of User Guide
Introduction
Getting Started with Slang
Conventional Language Features
Basic Convenience Features
Modules and Access Control
Capabilities
Interfaces and Generics
Automatic Differentiation
Language Version
Compiling Code with Slang
Using the Reflection API
Supported Compilation Targets
Link-time Specialization and Module Precompilation
Special Topics
Toggle navigation of Special Topics
Handling Matrix Layout Differences on Different Platforms
Using Slang to Write PyTorch Kernels
Obfuscation
Interoperation with Target-Specific Code
Uniformity Analysis
Target-specific Features
Toggle navigation of Target-specific Features
SPIR-V target specific
Metal target specific
WGSL target specific
Reference
Toggle navigation of Reference
Reference for all Capability Profiles
Reference for all Capability Atoms
Standard Modules Reference
Toggle navigation of Standard Modules Reference
Interfaces
Toggle navigation of Interfaces
IArithmetic
Toggle navigation of IArithmetic
add
div
init
mod
mul
neg
sub
IArithmeticAtomicable
IArray
Toggle navigation of IArray
getCount
subscript
IAtomicable
IBitAtomicable
IBufferDataLayout
IComparable
Toggle navigation of IComparable
equals
lessThan
lessThanOrEquals
IDefaultInitializable
Toggle navigation of IDefaultInitializable
init
IDiffTensorWrapper
Toggle navigation of IDiffTensorWrapper
loadOnce_backward
loadOnce_forward
load_backward
load_forward
storeOnce_backward
storeOnce_forward
store_backward
store_forward
IDifferentiable
Toggle navigation of IDifferentiable
dadd
dmul
dzero
IDifferentiableFunc
Toggle navigation of IDifferentiableFunc
operator()
IDifferentiableMutatingFunc
Toggle navigation of IDifferentiableMutatingFunc
operator()
IDifferentiablePtrType
IFloat
Toggle navigation of IFloat
add
div
init
mod
mul
neg
scale
sub
toFloat
IFunc
Toggle navigation of IFunc
operator()
IInteger
Toggle navigation of IInteger
init
toInt
toInt64
toUInt
toUInt64
ILogical
Toggle navigation of ILogical
and
bitAnd
bitNot
bitOr
bitXor
init
not
or
shl
shr
IMutatingFunc
Toggle navigation of IMutatingFunc
operator()
IOpaqueDescriptor
Toggle navigation of IOpaqueDescriptor
descriptorAccess
kind
IPhysicalBuffer
Toggle navigation of IPhysicalBuffer
GetBufferPointer
LoadByteOffset
IRWArray
Toggle navigation of IRWArray
subscript
IRWPhysicalBuffer
Toggle navigation of IRWPhysicalBuffer
StoreByteOffset
IRangedValue
Toggle navigation of IRangedValue
maxValue
minValue
ITexelElement
Toggle navigation of ITexelElement
elementCount
init
__BuiltinArithmeticType
__BuiltinFloatingPointType
Toggle navigation of __BuiltinFloatingPointType
getPi
__BuiltinIntegerType
__BuiltinLogicalType
__ITextureShape
Toggle navigation of __ITextureShape
dimensions
flavor
planeDimensions
__ITextureShape1D2D3D
Types
Toggle navigation of Types
Buffer types
Toggle navigation of Buffer types
AppendStructuredBuffer
Toggle navigation of AppendStructuredBuffer
Append
GetDimensions
Handle
descriptorAccess
init
kind
ByteAddressBuffer
Toggle navigation of ByteAddressBuffer
GetBufferPointer
GetDimensions
Handle
Load
Load2
Load2Aligned
Load3
Load3Aligned
Load4
Load4Aligned
LoadAligned
LoadByteOffset
descriptorAccess
init
kind
ConsumeStructuredBuffer
Toggle navigation of ConsumeStructuredBuffer
Consume
GetDimensions
Handle
descriptorAccess
init
kind
RWByteAddressBuffer
Toggle navigation of RWByteAddressBuffer
GetBufferPointer
GetDimensions
Handle
InterlockedAdd
InterlockedAdd64
InterlockedAddF16
InterlockedAddF16Emulated
InterlockedAddF32
InterlockedAddF64
InterlockedAddI64
InterlockedAddU64
InterlockedAnd
InterlockedAnd64
InterlockedAndU64
InterlockedCompareExchange
InterlockedCompareExchange64
InterlockedCompareExchangeFloatBitwise
InterlockedCompareExchangeU64
InterlockedCompareStore
InterlockedCompareStore64
InterlockedCompareStoreFloatBitwise
InterlockedExchange
InterlockedExchange64
InterlockedExchangeFloat
InterlockedExchangeU64
InterlockedMax
InterlockedMax64
InterlockedMaxU64
InterlockedMin
InterlockedMin64
InterlockedMinU64
InterlockedOr
InterlockedOr64
InterlockedOrU64
InterlockedXor
InterlockedXor64
InterlockedXorU64
Load
Load2
Load2Aligned
Load3
Load3Aligned
Load4
Load4Aligned
LoadAligned
LoadByteOffset
Store
Store2
Store2Aligned
Store3
Store3Aligned
Store4
Store4Aligned
StoreAligned
StoreByteOffset
_NvInterlockedAddFp16x2
descriptorAccess
init
kind
RWStructuredBuffer
Toggle navigation of RWStructuredBuffer
DecrementCounter
GetDimensions
Handle
IncrementCounter
Load
descriptorAccess
getCount
init
kind
subscript
RasterizerOrderedByteAddressBuffer
Toggle navigation of RasterizerOrderedByteAddressBuffer
GetDimensions
Handle
InterlockedAdd
InterlockedAnd
InterlockedCompareExchange
InterlockedCompareStore
InterlockedExchange
InterlockedMax
InterlockedMin
InterlockedOr
InterlockedXor
Load
Load2
Load2Aligned
Load3
Load3Aligned
Load4
Load4Aligned
LoadAligned
Store
Store2
Store2Aligned
Store3
Store3Aligned
Store4
Store4Aligned
StoreAligned
descriptorAccess
init
kind
RasterizerOrderedStructuredBuffer
Toggle navigation of RasterizerOrderedStructuredBuffer
DecrementCounter
GetDimensions
Handle
IncrementCounter
Load
descriptorAccess
getCount
init
kind
subscript
StructuredBuffer
Toggle navigation of StructuredBuffer
GetDimensions
Handle
Load
descriptorAccess
getCount
init
kind
subscript
Math types
Toggle navigation of Math types
matrix
Toggle navigation of matrix
Differential
T
add
dadd
div
dmul
dzero
equals
getCount
init
lessThan
lessThanOrEquals
mod
mul
neg
scale
sub
toFloat
vector
Toggle navigation of vector
Differential
Element
add
and
bitAnd
bitNot
bitOr
bitXor
dadd
div
dmul
dzero
elementCount
equals
getCount
init
lessThan
lessThanOrEquals
mod
mul
neg
not
or
scale
shl
shr
sub
toFloat
toInt
toInt64
toUInt
toUInt64
Miscelaneous types
Toggle navigation of Miscelaneous types
DefaultDataLayout
DefaultPushConstantDataLayout
MemoryOrder
NativeString
Toggle navigation of NativeString
getBuffer
getLength
init
length
ScalarDataLayout
SideEffectBehavior
Std140DataLayout
Std430DataLayout
__Shape1D
Toggle navigation of __Shape1D
dimensions
flavor
planeDimensions
__Shape2D
Toggle navigation of __Shape2D
dimensions
flavor
planeDimensions
__Shape3D
Toggle navigation of __Shape3D
dimensions
flavor
planeDimensions
__ShapeBuffer
Toggle navigation of __ShapeBuffer
dimensions
flavor
planeDimensions
__ShapeCube
Toggle navigation of __ShapeCube
dimensions
flavor
planeDimensions
string
Ray-tracing
Toggle navigation of Ray-tracing
BuiltInTriangleIntersectionAttributes
Toggle navigation of BuiltInTriangleIntersectionAttributes
barycentrics
CANDIDATE_TYPE
COMMITTED_STATUS
HitObject
Toggle navigation of HitObject
GetAttributes
GetClusterID
GetCurrentTime
GetGeometryIndex
GetHitKind
GetInstanceID
GetInstanceIndex
GetLssPositionsAndRadii
GetObjectRayDirection
GetObjectRayOrigin
GetObjectToWorld
GetPrimitiveIndex
GetRayDesc
GetShaderRecordBufferHandle
GetShaderTableIndex
GetSpherePositionAndRadius
GetWorldToObject
Invoke
IsHit
IsLssHit
IsMiss
IsNop
IsSphereHit
LoadLocalRootArgumentsConstant
LoadLocalRootTableConstant
MakeHit
MakeMiss
MakeMotionHit
MakeMotionMiss
MakeNop
SetShaderTableIndex
TraceMotionRay
TraceRay
init
RAY_FLAG
RayDesc
Toggle navigation of RayDesc
Direction
Origin
TMax
TMin
RayQuery
Toggle navigation of RayQuery
Abort
CandidateClusterID
CandidateGeometryIndex
CandidateGetIntersectionTriangleVertexPositions
CandidateInstanceContributionToHitGroupIndex
CandidateInstanceID
CandidateInstanceIndex
CandidateObjectRayDirection
CandidateObjectRayOrigin
CandidateObjectToWorld3x4
CandidateObjectToWorld4x3
CandidatePrimitiveIndex
CandidateProceduralPrimitiveNonOpaque
CandidateRayBarycentrics
CandidateRayFrontFace
CandidateRayGeometryIndex
CandidateRayInstanceCustomIndex
CandidateRayInstanceId
CandidateRayInstanceShaderBindingTableRecordOffset
CandidateRayObjectRayDirection
CandidateRayObjectRayOrigin
CandidateRayObjectToWorld
CandidateRayPrimitiveIndex
CandidateRayWorldToObject
CandidateTriangleBarycentrics
CandidateTriangleFrontFace
CandidateTriangleRayT
CandidateType
CandidateWorldToObject3x4
CandidateWorldToObject4x3
CommitNonOpaqueTriangleHit
CommitProceduralPrimitiveHit
CommittedClusterID
CommittedGeometryIndex
CommittedGetIntersectionTriangleVertexPositions
CommittedInstanceContributionToHitGroupIndex
CommittedInstanceID
CommittedInstanceIndex
CommittedObjectRayDirection
CommittedObjectRayOrigin
CommittedObjectToWorld3x4
CommittedObjectToWorld4x3
CommittedPrimitiveIndex
CommittedRayBarycentrics
CommittedRayFrontFace
CommittedRayGeometryIndex
CommittedRayInstanceCustomIndex
CommittedRayInstanceId
CommittedRayInstanceShaderBindingTableRecordOffset
CommittedRayObjectRayDirection
CommittedRayObjectRayOrigin
CommittedRayObjectToWorld
CommittedRayPrimitiveIndex
CommittedRayT
CommittedRayWorldToObject
CommittedStatus
CommittedTriangleBarycentrics
CommittedTriangleFrontFace
CommittedWorldToObject3x4
CommittedWorldToObject4x3
Proceed
RayFlags
RayTMin
TraceRayInline
WorldRayDirection
WorldRayOrigin
init
RaytracingAccelerationStructure
Toggle navigation of RaytracingAccelerationStructure
Handle
descriptorAccess
init
kind
Sampler types
Toggle navigation of Sampler types
SamplerComparisonState
Toggle navigation of SamplerComparisonState
Handle
descriptorAccess
init
kind
SamplerState
Toggle navigation of SamplerState
Handle
descriptorAccess
init
kind
Scalar types
Toggle navigation of Scalar types
float16_t
float32_t
float64_t
int32_t
size_t
ssize_t
uint32_t
usize_t
Stage IO types
Toggle navigation of Stage IO types
InputPatch
Toggle navigation of InputPatch
subscript
LineStream
Toggle navigation of LineStream
Append
RestartStrip
OutputIndices
Toggle navigation of OutputIndices
subscript
OutputPatch
Toggle navigation of OutputPatch
subscript
OutputPrimitives
Toggle navigation of OutputPrimitives
subscript
OutputVertices
Toggle navigation of OutputVertices
_metalSetVertex
_setVertex
subscript
PointStream
Toggle navigation of PointStream
Append
RestartStrip
SubpassInput
SubpassInputMS
TextureFootprint
Toggle navigation of TextureFootprint
_isSingleLevel
isSingleLevel
TextureFootprint2D
TextureFootprint3D
TriangleStream
Toggle navigation of TriangleStream
Append
RestartStrip
Texture types
Toggle navigation of Texture types
Buffer
FeedbackTexture2D
FeedbackTexture2DArray
RWBuffer
RWSampler1D
RWSampler1DArray
RWSampler2D
RWSampler2DArray
RWSampler2DMS
RWSampler2DMSArray
RWSampler3D
RWTexture1D
RWTexture1DArray
RWTexture2D
RWTexture2DArray
RWTexture2DMS
RWTexture2DMSArray
RWTexture3D
RasterizerOrderedBuffer
RasterizerOrderedSampler1D
RasterizerOrderedSampler1DArray
RasterizerOrderedSampler2D
RasterizerOrderedSampler2DArray
RasterizerOrderedSampler3D
RasterizerOrderedTexture1D
RasterizerOrderedTexture1DArray
RasterizerOrderedTexture2D
RasterizerOrderedTexture2DArray
RasterizerOrderedTexture3D
SAMPLER_FEEDBACK_MIN_MIP
Toggle navigation of SAMPLER_FEEDBACK_MIN_MIP
Element
elementCount
init
SAMPLER_FEEDBACK_MIP_REGION_USED
Toggle navigation of SAMPLER_FEEDBACK_MIP_REGION_USED
Element
elementCount
init
Sampler1D
Sampler1DArray
Sampler1DArrayShadow
Sampler1DShadow
Sampler2D
Sampler2DArray
Sampler2DArrayShadow
Sampler2DMS
Sampler2DMSArray
Sampler2DShadow
Sampler3D
Sampler3DArrayShadow
Sampler3DShadow
SamplerCube
SamplerCubeArray
SamplerCubeArrayShadow
SamplerCubeShadow
Texture1D
Texture1DArray
Texture2D
Texture2DArray
Texture2DMS
Texture2DMSArray
Texture3D
TextureBuffer
Toggle navigation of TextureBuffer
Handle
descriptorAccess
init
kind
TextureCube
TextureCubeArray
WSampler1D
WSampler1DArray
WSampler2D
WSampler2DArray
WSampler3D
WTexture1D
WTexture1DArray
WTexture2D
WTexture2DArray
WTexture3D
_Texture
Toggle navigation of _Texture
CalculateLevelOfDetail
CalculateLevelOfDetailUnclamped
Coords
Footprint
FootprintGranularity
Gather
GatherAlpha
GatherBlue
GatherCmp
GatherCmpAlpha
GatherCmpBlue
GatherCmpGreen
GatherCmpRed
GatherGreen
GatherRed
GetDimensions
GetSamplePosition
Handle
InterlockedAddF32
Load
Sample
SampleBias
SampleCmp
SampleCmpLevel
SampleCmpLevelZero
SampleGrad
SampleLevel
Store
TextureCoord
WriteSamplerFeedback
WriteSamplerFeedbackBias
WriteSamplerFeedbackGrad
WriteSamplerFeedbackLevel
descriptorAccess
init
kind
queryFootprintCoarse
queryFootprintCoarseBias
queryFootprintCoarseBiasClamp
queryFootprintCoarseClamp
queryFootprintCoarseGrad
queryFootprintCoarseGradClamp
queryFootprintCoarseLevel
queryFootprintFine
queryFootprintFineBias
queryFootprintFineBiasClamp
queryFootprintFineClamp
queryFootprintFineGrad
queryFootprintFineGradClamp
queryFootprintFineLevel
subscript
extension T : ITexelElement
Toggle navigation of extension T : ITexelElement
Element
elementCount
init
Array
Toggle navigation of Array
Differential
dadd
dmul
dzero
getCount
Atomic
Toggle navigation of Atomic
add
and
compareExchange
decrement
exchange
increment
load
max
min
or
store
sub
xor
AtomicAdd
Toggle navigation of AtomicAdd
diff
loadOnce_backward
loadOnce_forward
load_backward
load_forward
storeOnce_backward
storeOnce_forward
store_backward
store_forward
BindlessDescriptorOptions
ConstantBuffer
Toggle navigation of ConstantBuffer
Handle
descriptorAccess
init
kind
CoopMat
Toggle navigation of CoopMat
GetColumnCount
GetLength
GetRowCount
Load
MapElement
Reduce2x2
ReduceColumn
ReduceRow
ReduceRowAndColumn
Store
Transpose
add
copyFrom
div
equals
fill
getCount
init
lessThan
lessThanOrEquals
mod
mul
neg
sub
subscript
CoopMatClampMode
CoopMatMatrixLayout
CoopMatMatrixUse
CoopVec
Toggle navigation of CoopVec
add
copyFrom
div
equals
fill
getCount
init
lessThan
lessThanOrEquals
load
loadAny
matMulAccum
matMulAccumPacked
matMulAddAccum
matMulAddAccumPacked
mod
mul
neg
replicate
store
storeAny
sub
subscript
CoopVecComponentType
CoopVecMatrixLayout
DefaultVkBindlessBindings
DescriptorAccess
DescriptorHandle
Toggle navigation of DescriptorHandle
equals
init
lessThan
lessThanOrEquals
DescriptorKind
DiffTensorView
Toggle navigation of DiffTensorView
diff
dims
init
load
loadOnce
primal
size
store
storeOnce
stride
subscript
DifferentialPair
Toggle navigation of DifferentialPair
Differential
DifferentialElementType
d
dadd
dmul
dzero
getDifferential
getPrimal
init
p
v
DifferentialPtrPair
Toggle navigation of DifferentialPtrPair
Differential
DifferentialElementType
d
init
p
v
DispatchNodeInputRecord
Toggle navigation of DispatchNodeInputRecord
Get
MemoryScope
NodePayloadPtr
NullDifferential
Toggle navigation of NullDifferential
Differential
dadd
dmul
dummy
dzero
Optional
Toggle navigation of Optional
Differential
dadd
dmul
dzero
hasValue
init
value
ParameterBlock
Ptr
Toggle navigation of Ptr
init
subscript
String
Toggle navigation of String
getLength
init
length
TensorLayout
Toggle navigation of TensorLayout
BlockSize
ClampValue
Dimension
Slice
Stride
init
TensorView
Toggle navigation of TensorView
Clip
Dimension
InterlockedAdd
InterlockedAnd
InterlockedCompareExchange
InterlockedExchange
InterlockedMax
InterlockedMin
InterlockedOr
InterlockedXor
Stride
data_ptr
data_ptr_at
dims
init
load
size
store
stride
subscript
TorchTensor
Toggle navigation of TorchTensor
alloc
data_ptr
dims
emptyLike
fillValue
fillZero
getView
size
stride
zerosLike
Tuple
Toggle navigation of Tuple
Differential
MapElement
dadd
dmul
dzero
equals
init
lessThan
lessThanOrEquals
VkMutableBindlessBindings
_AttributeTargets
int8_t4_packed
uint8_t4_packed
Attributes
Toggle navigation of Attributes
AutoPyBindCUDA
BackwardDerivative
BackwardDerivativeOf
BackwardDifferentiable
COM
CUDADeviceExport
CUDAHost
CUDAKernel
CudaDeviceExport
CudaHost
CudaKernel
DerivativeGroupLinear
DerivativeGroupQuad
DerivativeMember
Differentiable
DllExport
DllImport
Flags
ForceInline
ForceUnroll
ForwardDerivative
ForwardDerivativeOf
ForwardDifferentiable
KnownBuiltin
MaxIters
MaximallyReconverges
NoDiffThis
NonUniformReturn
NumThreads
OverloadRank
PreferCheckpoint
PreferRecompute
PrimalSubstitute
PrimalSubstituteOf
PyExport
QuadDerivatives
RequireFullQuads
RequirePrelude
Shader
SpecializationConstant
Specialize
TorchEntryPoint
TreatAsDifferentiable
UnscopedEnum
WaveSize
allow
allow_uav_condition
anyValueSize
branch
builtin
call
constref
deprecated
disable_array_flattening
domain
earlydepthstencil
fastopt
flatten
forcecase
format
gl_binding
instance
loop
maxtessfactor
maxvertexcount
mutating
noRefInline
noinline
nonmutating
numthreads
open
outputcontrolpoints
outputtopology
partitioning
patchconstantfunc
payload
push_constant
raypayload
require
sealed
shader
shader_record
spv_target_env_1_3
unroll
vk_binding
vk_constant_id
vk_image_format
vk_location
vk_offset
vk_push_constant
vk_shader_record
vk_specialization_constant
vk_spirv_instruction
Global Declarations
Toggle navigation of Global Declarations
Atomic functions
Toggle navigation of Atomic functions
InterlockedAdd
InterlockedAnd
InterlockedCompareExchange
InterlockedCompareExchangeFloatBitwise
InterlockedCompareStore
InterlockedCompareStoreFloatBitwise
InterlockedExchange
InterlockedMax
InterlockedMin
InterlockedOr
InterlockedXor
Memory and control barriers
Toggle navigation of Memory and control barriers
AllMemoryBarrier
AllMemoryBarrierWithGroupSync
DeviceMemoryBarrier
DeviceMemoryBarrierWithGroupSync
GroupMemoryBarrier
GroupMemoryBarrierWithGroupSync
Bit operation functions
Toggle navigation of Bit operation functions
countbits
firstbithigh
firstbitlow
reversebits
Conversion functions
Toggle navigation of Conversion functions
asdouble
asfloat
asfloat16
asint
asint16
asuint
asuint16
bit_cast
f16tof32
f32tof16
f32tof16_
reinterpret
Derivative functions
Toggle navigation of Derivative functions
ddx
ddx_coarse
ddx_fine
ddy
ddy_coarse
ddy_fine
fwidth
fwidth_coarse
fwidth_fine
Vertex Interpolation Functions
Toggle navigation of Vertex Interpolation Functions
EvaluateAttributeAtCentroid
EvaluateAttributeAtSample
EvaluateAttributeSnapped
Math functions
Toggle navigation of Math functions
abs
acos
acosh
asin
asinh
atan
atan2
atanh
ceil
clamp
copysign
copysign_double
copysign_float
copysign_half
cos
cosh
cospi
cross
degrees
determinant
distance
divide
dot
dot2add
dot4add_i8packed
dot4add_u8packed
dst
exp
exp10
exp2
fabs
faceforward
fdim
floor
fma
fmax
fmax3
fmedian3
fmin
fmin3
fmod
frac
fract
frexp
isfinite
isinf
isnan
ldexp
length
lerp
lit
log
log10
log2
mad
max
max3
median3
min
min3
modf
msad4
mul
normalize
pow
powr
radians
rcp
reflect
refract
rint
round
rsqrt
saturate
sign
sin
sincos
sinh
sinpi
smoothstep
sqrt
step
tan
tanh
tanpi
transpose
trunc
Mesh shading
Toggle navigation of Mesh shading
DispatchMesh
SetMeshOutputCounts
Ray-tracing
Toggle navigation of Ray-tracing
AcceptHitAndEndSearch
CANDIDATE_NON_OPAQUE_TRIANGLE
CANDIDATE_PROCEDURAL_PRIMITIVE
COMMITTED_NOTHING
COMMITTED_PROCEDURAL_PRIMITIVE_HIT
COMMITTED_TRIANGLE_HIT
CallShader
DispatchRaysDimensions
DispatchRaysIndex
GeometryIndex
GetClusterID
GetLssPositionsAndRadii
GetSpherePositionAndRadius
HIT_KIND_TRIANGLE_BACK_FACE
HIT_KIND_TRIANGLE_FRONT_FACE
HitKind
HitTriangleVertexPosition
IgnoreHit
InstanceID
InstanceIndex
IsLssHit
IsSphereHit
ObjectRayDirection
ObjectRayOrigin
ObjectToWorld
ObjectToWorld3x4
ObjectToWorld4x3
PrimitiveIndex
RAY_FLAG_ACCEPT_FIRST_HIT_AND_END_SEARCH
RAY_FLAG_CULL_BACK_FACING_TRIANGLES
RAY_FLAG_CULL_FRONT_FACING_TRIANGLES
RAY_FLAG_CULL_NON_OPAQUE
RAY_FLAG_CULL_OPAQUE
RAY_FLAG_FORCE_NON_OPAQUE
RAY_FLAG_FORCE_OPAQUE
RAY_FLAG_NONE
RAY_FLAG_SKIP_CLOSEST_HIT_SHADER
RAY_FLAG_SKIP_PROCEDURAL_PRIMITIVES
RAY_FLAG_SKIP_TRIANGLES
RayCurrentTime
RayFlags
RayTCurrent
RayTMin
ReportHit
ReportHitOptix
TraceMotionRay
TraceRay
WorldRayDirection
WorldRayOrigin
WorldToObject
WorldToObject3x4
WorldToObject4x3
Tessellation functions
Toggle navigation of Tessellation functions
Process2DQuadTessFactorsAvg
Process2DQuadTessFactorsMax
Process2DQuadTessFactorsMin
ProcessIsolineTessFactors
ProcessQuadTessFactorsAvg
ProcessQuadTessFactorsMax
ProcessQuadTessFactorsMin
ProcessTriTessFactorsAvg
ProcessTriTessFactorsMax
ProcessTriTessFactorsMin
Wave and quad functions
Toggle navigation of Wave and quad functions
QuadReadAcrossDiagonal
QuadReadAcrossX
QuadReadAcrossY
QuadReadLaneAt
WaveActiveAllEqual
WaveActiveAllTrue
WaveActiveAnyTrue
WaveActiveBallot
WaveActiveBitAnd
WaveActiveBitOr
WaveActiveBitXor
WaveActiveCountBits
WaveActiveMax
WaveActiveMin
WaveActiveProduct
WaveActiveSum
WaveBroadcastLaneAt
WaveGetActiveMulti
WaveGetConvergedMulti
WaveGetLaneCount
WaveGetLaneIndex
WaveIsFirstLane
WaveMatch
WaveMultiPrefixCountBits
WavePrefixCountBits
WavePrefixProduct
WavePrefixSum
WaveReadLaneAt
WaveReadLaneFirst
WaveShuffle
_WaveCountBits
CheckAccessFullyMapped
D3DCOLORtoUBYTE4
GetAttributeAtVertex
GetRenderTargetSampleCount
GetRenderTargetSamplePosition
IsHelperLane
NonUniformResourceIndex
QuadAll
QuadAny
ReorderThread
WaveClusteredRotate
WaveMultiBitAnd
WaveMultiBitOr
WaveMultiBitXor
WaveMultiMax
WaveMultiMin
WaveMultiPrefixBitAnd
WaveMultiPrefixBitOr
WaveMultiPrefixBitXor
WaveMultiPrefixExclusiveBitAnd
WaveMultiPrefixExclusiveBitOr
WaveMultiPrefixExclusiveBitXor
WaveMultiPrefixExclusiveMax
WaveMultiPrefixExclusiveMin
WaveMultiPrefixExclusiveProduct
WaveMultiPrefixExclusiveSum
WaveMultiPrefixInclusiveBitAnd
WaveMultiPrefixInclusiveBitOr
WaveMultiPrefixInclusiveBitXor
WaveMultiPrefixInclusiveMax
WaveMultiPrefixInclusiveMin
WaveMultiPrefixInclusiveProduct
WaveMultiPrefixInclusiveSum
WaveMultiPrefixProduct
WaveMultiPrefixSum
WaveMultiProduct
WaveMultiSum
WaveRotate
WorkgroupSize
abort
all
any
bitfieldExtract
bitfieldInsert
clip
clock2x32ARB
clockARB
concat
coopVecLoad
coopVecLoadGroupshared
coopVecMatMul
coopVecMatMulAdd
coopVecMatMulAddPacked
coopVecMatMulPacked
coopVecOuterProductAccumulate
coopVecReduceSumAccumulate
createDynamicObject
cudaBlockDim
cudaBlockIdx
cudaThreadIdx
debugBreak
defaultGetDescriptorFromHandle
detach
diffPair
getDescriptorFromHandle
getRealtimeClock
getRealtimeClockLow
getStringHash
isDifferentialNull
loadAligned
makeArrayFromElement
makeTuple
nextafter
nonuniform
operator*
packHalf2x16
packInt4x8
packInt4x8Clamp
packSnorm2x16
packSnorm4x8
packUint4x8
packUint4x8Clamp
packUnorm2x16
packUnorm4x8
pack_clamp_s8
pack_clamp_u8
pack_s8
pack_u8
printf
select
static_assert
storeAligned
syncTorchCudaStream
unmodified
unpackHalf2x16ToFloat
unpackHalf2x16ToHalf
unpackInt4x8ToInt16
unpackInt4x8ToInt32
unpackSnorm2x16ToFloat
unpackSnorm2x16ToHalf
unpackSnorm4x8ToFloat
unpackSnorm4x8ToHalf
unpackUint4x8ToUint16
unpackUint4x8ToUint32
unpackUnorm2x16ToFloat
unpackUnorm2x16ToHalf
unpackUnorm4x8ToFloat
unpackUnorm4x8ToHalf
unpack_s8s16
unpack_s8s32
unpack_u8u16
unpack_u8u32
unused
updateDiff
updatePair
updatePrimal
workgroupUniformLoad
Language Spec
SlangPy User Guide
Feature Matureness
Command Line Reference
Frequently Asked Questions
Articles
SPIR-V Specific Functionalities
Metal Specific Functionalities
WGSL Specific Functionalities
Tutorials
Write Your First Slang Shader
Using the Compilation API
Using the Reflection API
Shader Cursors: Advanced Usage of the Reflection API
Understanding Slang Generics
Migrating from HLSL to Slang
Using Slang Parameter Blocks
Migrating from GLSL to Slang