Contents

setStageInRegionWithIndirectBuffer(_:indirectBufferOffset:)

Sets the region of the stage-in attributes to apply to a compute kernel using an indirect buffer.

Declaration

func setStageInRegionWithIndirectBuffer(_ indirectBuffer: any MTLBuffer, indirectBufferOffset: Int)

Parameters

  • indirectBuffer:

    The Mtlregion defining how to interpret a thread’s location as a coordinate for stage-in data.

  • indirectBufferOffset:

    Where the data begins, in bytes, from the start of the buffer.

Discussion

The region’s origin point, starting from (0,0,0) in the upper left of the bound data, determines the final index of [[stage_in]] data. Note that the total number of threads Metal launches may be larger than your stage-in data.

To determine the index used to fetch [[stage_in]] data for a given thread, the GPU adds the values specified by the region’s origin to the thread position in the grid. Threads in the grid outside of the maximum stage-in data size have undefined behavior when accessing the stage-in memory region.

See Also

Configuring stage-in data