• Slang Standard Library Reference
    • Interfaces
      • IArithmetic
        • add
        • div
        • init
        • mod
        • mul
        • neg
        • sub
      • IArithmeticAtomicable
      • IArray
        • getCount
        • subscript
      • IAtomicable
      • IBitAtomicable
      • IBufferDataLayout
      • IComparable
        • equals
        • lessThan
        • lessThanOrEquals
      • IDefaultInitializable
        • init
      • IDiffTensorWrapper
        • loadOnce_backward
        • loadOnce_forward
        • load_backward
        • load_forward
        • storeOnce_backward
        • storeOnce_forward
        • store_backward
        • store_forward
      • IDifferentiable
        • dadd
        • dmul
        • dzero
      • IDifferentiableFunc
        • operator()
      • IDifferentiableMutatingFunc
        • operator()
      • IDifferentiablePtrType
      • IFloat
        • add
        • div
        • init
        • mod
        • mul
        • neg
        • scale
        • sub
        • toFloat
      • IFunc
        • operator()
      • IInteger
        • init
        • toInt
        • toInt64
        • toUInt
        • toUInt64
      • ILogical
        • and
        • bitAnd
        • bitNot
        • bitOr
        • bitXor
        • init
        • not
        • or
        • shl
        • shr
      • IMutatingFunc
        • operator()
      • IRWArray
        • subscript
      • IRangedValue
        • maxValue
        • minValue
      • __BuiltinArithmeticType
      • __BuiltinFloatingPointType
        • getPi
      • __BuiltinIntegerType
      • __BuiltinLogicalType
      • __ITextureShape
        • dimensions
        • flavor
        • planeDimensions
      • __ITextureShape1D2D3D
    • Types
      • Buffer types
        • AppendStructuredBuffer
          • Append
          • GetDimensions
        • ByteAddressBuffer
          • GetDimensions
          • Load
          • Load2
          • Load2Aligned
          • Load3
          • Load3Aligned
          • Load4
          • Load4Aligned
          • LoadAligned
        • ConsumeStructuredBuffer
          • Consume
          • GetDimensions
        • RWByteAddressBuffer
          • GetDimensions
          • 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
          • Store
          • Store2
          • Store2Aligned
          • Store3
          • Store3Aligned
          • Store4
          • Store4Aligned
          • StoreAligned
          • _NvInterlockedAddFp16x2
        • RWStructuredBuffer
          • DecrementCounter
          • GetDimensions
          • IncrementCounter
          • Load
          • subscript
        • RasterizerOrderedByteAddressBuffer
          • GetDimensions
          • 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
        • RasterizerOrderedStructuredBuffer
          • DecrementCounter
          • GetDimensions
          • IncrementCounter
          • Load
          • subscript
        • StructuredBuffer
          • GetDimensions
          • Load
          • subscript
      • Math types
        • matrix
          • Differential
          • T
          • add
          • dadd
          • div
          • dmul
          • dzero
          • equals
          • getCount
          • init
          • lessThan
          • lessThanOrEquals
          • mod
          • mul
          • neg
          • scale
          • sub
          • toFloat
        • vector
          • Differential
          • Element
          • add
          • and
          • bitAnd
          • bitNot
          • bitOr
          • bitXor
          • dadd
          • div
          • dmul
          • dzero
          • equals
          • getCount
          • init
          • lessThan
          • lessThanOrEquals
          • mod
          • mul
          • neg
          • not
          • or
          • scale
          • shl
          • shr
          • sub
          • toFloat
          • toInt
          • toInt64
          • toUInt
          • toUInt64
      • Miscelaneous types
        • DefaultDataLayout
        • MemoryOrder
        • NativeString
          • getBuffer
          • getLength
          • init
          • length
        • ScalarDataLayout
        • SideEffectBehavior
        • Std140DataLayout
        • Std430DataLayout
        • __Shape1D
          • dimensions
          • flavor
          • planeDimensions
        • __Shape2D
          • dimensions
          • flavor
          • planeDimensions
        • __Shape3D
          • dimensions
          • flavor
          • planeDimensions
        • __ShapeBuffer
          • dimensions
          • flavor
          • planeDimensions
        • __ShapeCube
          • dimensions
          • flavor
          • planeDimensions
        • string
      • Ray-tracing
        • BuiltInTriangleIntersectionAttributes
          • barycentrics
        • CANDIDATE_TYPE
        • COMMITTED_STATUS
        • HitObject
          • GetAttributes
          • GetCurrentTime
          • GetGeometryIndex
          • GetHitKind
          • GetInstanceID
          • GetInstanceIndex
          • GetObjectRayDirection
          • GetObjectRayOrigin
          • GetObjectToWorld
          • GetPrimitiveIndex
          • GetRayDesc
          • GetShaderRecordBufferHandle
          • GetShaderTableIndex
          • GetWorldToObject
          • Invoke
          • IsHit
          • IsMiss
          • IsNop
          • LoadLocalRootTableConstant
          • MakeHit
          • MakeMiss
          • MakeMotionHit
          • MakeMotionMiss
          • MakeNop
          • TraceMotionRay
          • TraceRay
          • init
        • RAY_FLAG
        • RayDesc
          • Direction
          • Origin
          • TMax
          • TMin
        • RayQuery
          • Abort
          • 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
          • 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
      • Sampler types
        • SamplerComparisonState
        • SamplerState
      • Scalar types
        • float16_t
        • float32_t
        • float64_t
        • int32_t
        • size_t
        • ssize_t
        • uint32_t
        • usize_t
      • Stage IO types
        • InputPatch
          • subscript
        • LineStream
          • Append
          • RestartStrip
        • OutputIndices
          • subscript
        • OutputPatch
          • subscript
        • OutputPrimitives
          • subscript
        • OutputVertices
          • _metalSetVertex
          • _setVertex
          • subscript
        • PointStream
          • Append
          • RestartStrip
        • SubpassInput
        • SubpassInputMS
        • TextureFootprint
          • _isSingleLevel
          • isSingleLevel
        • TextureFootprint2D
        • TextureFootprint3D
        • TriangleStream
          • Append
          • RestartStrip
      • 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
        • SAMPLER_FEEDBACK_MIP_REGION_USED
        • Sampler1D
        • Sampler1DArray
        • Sampler2D
        • Sampler2DArray
        • Sampler2DMS
        • Sampler2DMSArray
        • Sampler3D
        • SamplerCube
        • SamplerCubeArray
        • Texture1D
        • Texture1DArray
        • Texture2D
        • Texture2DArray
        • Texture2DMS
        • Texture2DMSArray
        • Texture3D
        • TextureBuffer
        • TextureCube
        • TextureCubeArray
        • WSampler1D
        • WSampler1DArray
        • WSampler2D
        • WSampler2DArray
        • WSampler3D
        • WTexture1D
        • WTexture1DArray
        • WTexture2D
        • WTexture2DArray
        • WTexture3D
        • _Texture
          • CalculateLevelOfDetail
          • CalculateLevelOfDetailUnclamped
          • Coords
          • Footprint
          • FootprintGranularity
          • Gather
          • GatherAlpha
          • GatherBlue
          • GatherCmp
          • GatherCmpAlpha
          • GatherCmpBlue
          • GatherCmpGreen
          • GatherCmpRed
          • GatherGreen
          • GatherRed
          • GetDimensions
          • GetSamplePosition
          • InterlockedAddF32
          • Load
          • Sample
          • SampleBias
          • SampleCmp
          • SampleCmpLevelZero
          • SampleGrad
          • SampleLevel
          • Store
          • TextureCoord
          • WriteSamplerFeedback
          • WriteSamplerFeedbackBias
          • WriteSamplerFeedbackGrad
          • WriteSamplerFeedbackLevel
          • queryFootprintCoarse
          • queryFootprintCoarseBias
          • queryFootprintCoarseBiasClamp
          • queryFootprintCoarseClamp
          • queryFootprintCoarseGrad
          • queryFootprintCoarseGradClamp
          • queryFootprintCoarseLevel
          • queryFootprintFine
          • queryFootprintFineBias
          • queryFootprintFineBiasClamp
          • queryFootprintFineClamp
          • queryFootprintFineGrad
          • queryFootprintFineGradClamp
          • queryFootprintFineLevel
          • subscript
      • Array
        • Differential
        • dadd
        • dmul
        • dzero
        • getCount
      • Atomic
        • add
        • and
        • compareExchange
        • decrement
        • exchange
        • increment
        • load
        • max
        • min
        • or
        • store
        • sub
        • xor
      • AtomicAdd
        • diff
        • loadOnce_backward
        • loadOnce_forward
        • load_backward
        • load_forward
        • storeOnce_backward
        • storeOnce_forward
        • store_backward
        • store_forward
      • ConstantBuffer
      • DiffTensorView
        • diff
        • dims
        • init
        • load
        • loadOnce
        • primal
        • size
        • store
        • storeOnce
        • stride
        • subscript
      • DifferentialPair
        • Differential
        • DifferentialElementType
        • d
        • dadd
        • dmul
        • dzero
        • getDifferential
        • getPrimal
        • init
        • p
        • v
      • DifferentialPtrPair
        • Differential
        • DifferentialElementType
        • d
        • init
        • p
        • v
      • NullDifferential
        • Differential
        • dadd
        • dmul
        • dummy
        • dzero
      • Optional
        • hasValue
        • init
        • value
      • ParameterBlock
      • Ptr
        • init
        • subscript
      • String
        • getLength
        • init
        • length
      • TensorView
        • InterlockedAdd
        • InterlockedAnd
        • InterlockedCompareExchange
        • InterlockedExchange
        • InterlockedMax
        • InterlockedMin
        • InterlockedOr
        • InterlockedXor
        • data_ptr
        • data_ptr_at
        • dims
        • init
        • load
        • size
        • store
        • stride
        • subscript
      • TorchTensor
        • alloc
        • data_ptr
        • dims
        • emptyLike
        • fillValue
        • fillZero
        • getView
        • size
        • stride
        • zerosLike
      • Tuple
        • Differential
        • dadd
        • dmul
        • dzero
        • equals
        • init
        • lessThan
        • lessThanOrEquals
      • _AttributeTargets
    • 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
      • NoDiffThis
      • NonUniformReturn
      • NumThreads
      • OverloadRank
      • PreferCheckpoint
      • PreferRecompute
      • PrimalSubstitute
      • PrimalSubstituteOf
      • PyExport
      • 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
      • require
      • sealed
      • shader
      • shader_record
      • spv_target_env_1_3
      • unroll
      • vk_binding
      • vk_constant_id
      • vk_image_format
      • vk_location
      • vk_push_constant
      • vk_shader_record
      • vk_specialization_constant
      • vk_spirv_instruction
    • Global Declarations
      • Atomic functions
        • InterlockedAdd
        • InterlockedAnd
        • InterlockedCompareExchange
        • InterlockedCompareExchangeFloatBitwise
        • InterlockedCompareStore
        • InterlockedCompareStoreFloatBitwise
        • InterlockedExchange
        • InterlockedMax
        • InterlockedMin
        • InterlockedOr
        • InterlockedXor
      • Memory and control barriers
        • AllMemoryBarrier
        • AllMemoryBarrierWithGroupSync
        • DeviceMemoryBarrier
        • DeviceMemoryBarrierWithGroupSync
        • GroupMemoryBarrier
        • GroupMemoryBarrierWithGroupSync
      • Bit operation functions
        • countbits
        • firstbithigh
        • firstbitlow
        • reversebits
      • Conversion functions
        • asdouble
        • asfloat
        • asfloat16
        • asint
        • asint16
        • asuint
        • asuint16
        • bit_cast
        • f16tof32
        • f32tof16
        • f32tof16_
        • reinterpret
      • Derivative functions
        • ddx
        • ddx_coarse
        • ddx_fine
        • ddy
        • ddy_coarse
        • ddy_fine
        • fwidth
      • 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
        • noise
        • 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
        • DispatchMesh
        • SetMeshOutputCounts
      • Ray-tracing
        • AcceptHitAndEndSearch
        • CANDIDATE_NON_OPAQUE_TRIANGLE
        • CANDIDATE_PROCEDURAL_PRIMITIVE
        • COMMITTED_NOTHING
        • COMMITTED_PROCEDURAL_PRIMITIVE_HIT
        • COMMITTED_TRIANGLE_HIT
        • CallShader
        • DispatchRaysDimensions
        • DispatchRaysIndex
        • GeometryIndex
        • HIT_KIND_TRIANGLE_BACK_FACE
        • HIT_KIND_TRIANGLE_FRONT_FACE
        • HitKind
        • HitTriangleVertexPosition
        • IgnoreHit
        • InstanceID
        • InstanceIndex
        • 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
        • Process2DQuadTessFactorsAvg
        • Process2DQuadTessFactorsMax
        • Process2DQuadTessFactorsMin
        • ProcessIsolineTessFactors
        • ProcessQuadTessFactorsAvg
        • ProcessQuadTessFactorsMax
        • ProcessQuadTessFactorsMin
        • ProcessTriTessFactorsAvg
        • ProcessTriTessFactorsMax
        • ProcessTriTessFactorsMin
      • 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
        • WaveMultiPrefixBitAnd
        • WaveMultiPrefixBitOr
        • WaveMultiPrefixBitXor
        • WaveMultiPrefixCountBits
        • WaveMultiPrefixProduct
        • WaveMultiPrefixSum
        • WavePrefixCountBits
        • WavePrefixProduct
        • WavePrefixSum
        • WaveReadLaneAt
        • WaveReadLaneFirst
        • WaveShuffle
        • _WaveCountBits
      • CheckAccessFullyMapped
      • D3DCOLORtoUBYTE4
      • EvaluateAttributeAtCentroid
      • EvaluateAttributeAtSample
      • EvaluateAttributeSnapped
      • GetAttributeAtVertex
      • GetRenderTargetSampleCount
      • GetRenderTargetSamplePosition
      • IsHelperLane
      • NonUniformResourceIndex
      • ReorderThread
      • WorkgroupSize
      • abort
      • all
      • any
      • clip
      • concat
      • createDynamicObject
      • cudaBlockDim
      • cudaBlockIdx
      • cudaThreadIdx
      • debugBreak
      • detach
      • diffPair
      • getRealtimeClock
      • getRealtimeClockLow
      • getStringHash
      • isDifferentialNull
      • makeArrayFromElement
      • makeTuple
      • nextafter
      • printf
      • select
      • static_assert
      • syncTorchCudaStream
      • unmodified
      • unused
      • updateDiff
      • updatePair
      • updatePrimal
      • workgroupUniformLoad

struct _Texture<T, Shape, isArray:int, isMS:int, sampleCount:int, access:int, isShadow:int, isCombined:int, format:int>

Internal Feature

The feature described in this page is marked as an internal implementation detail, and is not intended for use by end-users. Users are advised to avoid using this declaration directly, as it may be removed or changed in future releases.

Description

A parameterized type that represents all flavors of texture types supported by the Slang language. Please note that this type is not intended to be used directly in user code, and not all combinations of the generic arguments are valid. Instead, use the specific texture types such as Texture1D, Texture2DArray and Sampler2D etc. This documentation is provided for reference purposes only.

Generic Parameters

T

The element type of the texture. Must be a scalar or vector type.

Shape: __ITextureShape

The shape of the texture. Must be one of __Shape1D, __Shape2D, __Shape3D, __ShapeCube or __ShapeBuffer.

isArray : int

Indicates whether the texture is an array texture.

isMS : int

Indicates whether the texture is a multisampled texture.

sampleCount : int

The number of samples of a multisampled texture.

access : int

The access mode of the texture. 0 for read-only, 1 for read-write, 2 for rasterizer-ordered, 3 for feedback.

isShadow : int

Indicates whether the texture is a shadow texture (for combined texture-sampler only).

isCombined : int

Indicates whether the texture is a combined texture-sampler.

format : int

The storage format of the texture. Users should specify the format using an [format("…")] attribute instead.

Methods

Remarks

HLSL texture types are implemented as typealiases to the builtin _Texture type. Users are advised to use the HLSL-specific texture types instead of _Texture directly.

For read-write textures, Slang will automatically infer format from T. To explicitly specify texel storage formats for read-write textures, use the [format("formatString")] attribute on the texture parameter declaration. Allowed formatString values are:

id Format string Meaning
1 "rgba32f" 4 channel 32-bit floating point texture
2 "rgba16f" 4 channel 16-bit floating point texture
3 "rg32f" 2 channel 32-bit floating point texture
4 "rg16f" 2 channel 16-bit floating point texture
5 "r11f_g11f_b10f" 3 channel 11/11/10-bit floating point texture
6 "r32f" 1 channel 32-bit floating point texture
7 "r16f" 1 channel 16-bit floating point texture
8 "rgba16" 4 channel 16-bit normalized unsigned integer texture
9 "rgb10_a2" 4 channel 10/10/10/2-bit signed integer texture
10 "rgba8" 4 channel 8-bit normalized unsigned integer texture
11 "rg16" 2 channel 16-bit normalized unsigned integer texture
12 "rg8" 2 channel 8-bit normalized unsigned integer texture
13 "r16" 1 channel 16-bit normalized unsigned integer texture
14 "r8" 1 channel 8-bit normalized unsigned integer texture
15 "rgba16_snorm" 4 channel 16-bit normalized signed integer texture
16 "rgba8_snorm" 4 channel 8-bit normalized signed integer texture
17 "rg16_snorm" 2 channel 16-bit normalized signed integer texture
18 "rg8_snorm" 2 channel 8-bit normalized signed integer texture
19 "r16_snorm" 1 channel 16-bit normalized signed integer texture
20 "r8_snorm" 1 channel 8-bit normalized signed integer texture
21 "rgba32i" 4 channel 32-bit signed integer texture
22 "rgba16i" 4 channel 16-bit signed integer texture
23 "rgba8i" 4 channel 8-bit signed integer texture
24 "rg32i" 2 channel 32-bit signed integer texture
25 "rg16i" 2 channel 16-bit signed integer texture
26 "rg8i" 2 channel 8-bit signed integer texture
27 "r32i" 1 channel 32-bit signed integer texture
28 "r16i" 1 channel 16-bit signed integer texture
29 "r8i" 1 channel 8-bit signed integer texture
30 "rgba32ui" 4 channel 32-bit unsigned integer texture
31 "rgba16ui" 4 channel 16-bit unsigned integer texture
32 "rgb10_a2ui" 4 channel 10/10/10/2-bit unsigned integer texture
33 "rgba8ui" 4 channel 8-bit unsigned integer texture
34 "rg32ui" 2 channel 32-bit unsigned integer texture
35 "rg16ui" 2 channel 16-bit unsigned integer texture
36 "rg8ui" 2 channel 8-bit unsigned integer texture
37 "r32ui" 1 channel 32-bit unsigned integer texture
38 "r16ui" 1 channel 16-bit unsigned integer texture
39 "r8ui" 1 channel 8-bit unsigned integer texture
40 "r64ui" 1 channel 64-bit unsigned integer texture
41 "r64i" 1 channel 64-bit signed integer texture

When targeting Vulkan, a combined-texture-sampler type (isCombined==1) translates to a OpTypeSampledImage type in SPIR-V. For other targets, the combined-texture-sampler type is translated to a pair of a Texture and SamplerState. isShadow is only applicable to combined-texture-sampler types and must be 0 for non-combined texture types.

See also

Texture1D, Texture2D, Texture3D, TextureCube, Texture1DArray, Texture2DArray, TextureCubeArray, Sampler1D, Sampler2D, Sampler3D, SamplerCube, Sampler1DArray, Sampler2DArray, SamplerCubeArray, Texture2DMS, Texture2DMSArray, RWTexture1D, RWTexture2D, RWTexture3D, RWTexture1DArray, RWTexture2DArray, RWTexture2DMS, RWTexture2DMSArray, Buffer, RWBuffer, FeedbackTexture2D, FeedbackTexture2DArray.