Instance Method

setTileBuffer(_:offset:index:)

Sets a buffer for the tile function at an index in the buffer argument table.

Required.

Declaration

func setTileBuffer(_ buffer: MTLBuffer?, offset: Int, index: Int)

Parameters

buffer

The buffer to set in the argument table.

offset

How far the data is, in bytes, from the start of the buffer.

index

The index in the buffer argument table.

Discussion

For buffers in the address space, the offset must be aligned to the data type consumed by the tile shader (which is always less than or equal to 16 bytes).

For buffers in the address space, the offset must be aligned to 256 bytes in macOS. In iOS, the offset must be aligned to the maximum of either the data type consumed by the tile shader, or 4 bytes. A 16-byte alignment is safe in iOS if you don't need to consider the data type.

See Also

Specifying Resources for a Tile Function

func setThreadgroupMemoryLength(Int, offset: Int, index: Int)

Sets the size of a threadgroup memory buffer for the tile function at an index in the argument table.

Required.

func setTileBuffers([MTLBuffer?], offsets: [Int], range: Range<Int>)

Sets an array of buffers for the tile function in a range of indices in the buffer argument table.

func setTileBufferOffset(Int, index: Int)

Sets an offset specifying the start of the data for a buffer already bound to the tile function.

Required.

func setTileBytes(UnsafeRawPointer, length: Int, index: Int)

Sets a block of data for the tile function at an index in the buffer argument table.

Required.

func setTileSamplerState(MTLSamplerState?, index: Int)

Sets a sampler state for the tile function at an index in the sampler state argument table.

Required.

func setTileSamplerState(MTLSamplerState?, lodMinClamp: Float, lodMaxClamp: Float, index: Int)

Sets a sampler state for the tile function at an index in the sampler state argument table, specifying clamp values for the level of detail.

Required.

func setTileSamplerStates([MTLSamplerState?], range: Range<Int>)

Sets a sampler state for the tile function in a range of indices in the sampler state argument table.

func setTileSamplerStates([MTLSamplerState?], lodMinClamps: [Float], lodMaxClamps: [Float], range: Range<Int>)

Sets a sampler state for the tile function in a range of indices in the sampler state argument table, specifying clamp values for the level of detail.

func setTileTexture(MTLTexture?, index: Int)

Sets a texture for the tile function at an index in the texture argument table.

Required.

func setTileTextures([MTLTexture?], range: Range<Int>)

Sets an array of textures for the tile function in a range of indices in the texture argument table.