Contents

MTLAccelerationStructureCommandEncoder

Encodes commands that build and refit acceleration structures for a single pass.

Declaration

protocol MTLAccelerationStructureCommandEncoder : MTLCommandEncoder

Mentioned in

Overview

Create an acceleration structure encoder by calling one of the factory methods on an MTLCommandBuffer instance, such as makeAccelerationStructureCommandEncoder().

Command stages

Most commands apply to one stage within a pass. The following table shows which stage applies to each command:

Function

MTLStages

Build(accelerationstructure:descriptor:scratchbuffer:scratchbufferoffset:)

Accelerationstructure

Copy(sourceaccelerationstructure:destinationaccelerationstructure:)

Accelerationstructure

Writecompactedsize(accelerationstructure:buffer:offset:)

Accelerationstructure

Writecompactedsize(accelerationstructure:buffer:offset:sizedatatype:)

Accelerationstructure

Copyandcompact(sourceaccelerationstructure:destinationaccelerationstructure:)

Accelerationstructure

Refit(sourceaccelerationstructure:descriptor:destinationaccelerationstructure:scratchbuffer:scratchbufferoffset:)

Accelerationstructure

Refit(sourceaccelerationstructure:descriptor:destinationaccelerationstructure:scratchbuffer:scratchbufferoffset:options:)

Accelerationstructure

Samplecounters(samplebuffer:sampleindex:barrier:)

None

For more information about stages and synchronization, see MTLStages and Resource synchronization.

Topics

Building an acceleration structure

Copying an acceleration structure

Refitting an acceleration structure

Preventing resource access conflicts

Making indirect resources resident

Sampling counters

See Also

Acceleration structures