Package apple.metal.protocol
Interface MTLIndirectRenderCommand
-
public interface MTLIndirectRenderCommandDescribes a CPU-recorded indirect render command API-Since: 12.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description voidclearBarrier()API-Since: 17.0voiddrawIndexedPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetControlPointIndexBufferControlPointIndexBufferOffsetInstanceCountBaseInstanceTessellationFactorBufferTessellationFactorBufferOffsetTessellationFactorBufferInstanceStride(long numberOfPatchControlPoints, long patchStart, long patchCount, @Nullable MTLBuffer patchIndexBuffer, long patchIndexBufferOffset, @NotNull MTLBuffer controlPointIndexBuffer, long controlPointIndexBufferOffset, long instanceCount, long baseInstance, @NotNull MTLBuffer buffer, long offset, long instanceStride)voiddrawIndexedPrimitivesIndexCountIndexTypeIndexBufferIndexBufferOffsetInstanceCountBaseVertexBaseInstance(long primitiveType, long indexCount, long indexType, @NotNull MTLBuffer indexBuffer, long indexBufferOffset, long instanceCount, long baseVertex, long baseInstance)voiddrawMeshThreadgroupsThreadsPerObjectThreadgroupThreadsPerMeshThreadgroup(MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup)MTLIndirectCommandTypeDrawMeshThreadgroups API-Since: 17.0voiddrawMeshThreadsThreadsPerObjectThreadgroupThreadsPerMeshThreadgroup(MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup)MTLIndirectCommandTypeDrawMeshThreads API-Since: 17.0voiddrawPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetInstanceCountBaseInstanceTessellationFactorBufferTessellationFactorBufferOffsetTessellationFactorBufferInstanceStride(long numberOfPatchControlPoints, long patchStart, long patchCount, @Nullable MTLBuffer patchIndexBuffer, long patchIndexBufferOffset, long instanceCount, long baseInstance, @NotNull MTLBuffer buffer, long offset, long instanceStride)voiddrawPrimitivesVertexStartVertexCountInstanceCountBaseInstance(long primitiveType, long vertexStart, long vertexCount, long instanceCount, long baseInstance)voidreset()voidsetBarrier()API-Since: 17.0voidsetFragmentBufferOffsetAtIndex(@NotNull MTLBuffer buffer, long offset, long index)voidsetMeshBufferOffsetAtIndex(@NotNull MTLBuffer buffer, long offset, long index)API-Since: 17.0voidsetObjectBufferOffsetAtIndex(@NotNull MTLBuffer buffer, long offset, long index)API-Since: 17.0voidsetObjectThreadgroupMemoryLengthAtIndex(long length, long index)API-Since: 17.0voidsetRenderPipelineState(@NotNull MTLRenderPipelineState pipelineState)API-Since: 13.0voidsetVertexBufferOffsetAtIndex(@NotNull MTLBuffer buffer, long offset, long index)voidsetVertexBufferOffsetAttributeStrideAtIndex(@NotNull MTLBuffer buffer, long offset, long stride, long index)sets vertex buffer at specified index with provided offset and stride.
-
-
-
Method Detail
-
drawIndexedPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetControlPointIndexBufferControlPointIndexBufferOffsetInstanceCountBaseInstanceTessellationFactorBufferTessellationFactorBufferOffsetTessellationFactorBufferInstanceStride
void drawIndexedPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetControlPointIndexBufferControlPointIndexBufferOffsetInstanceCountBaseInstanceTessellationFactorBufferTessellationFactorBufferOffsetTessellationFactorBufferInstanceStride(long numberOfPatchControlPoints, long patchStart, long patchCount, @Nullable @Nullable MTLBuffer patchIndexBuffer, long patchIndexBufferOffset, @NotNull @NotNull MTLBuffer controlPointIndexBuffer, long controlPointIndexBufferOffset, long instanceCount, long baseInstance, @NotNull @NotNull MTLBuffer buffer, long offset, long instanceStride)
-
drawIndexedPrimitivesIndexCountIndexTypeIndexBufferIndexBufferOffsetInstanceCountBaseVertexBaseInstance
void drawIndexedPrimitivesIndexCountIndexTypeIndexBufferIndexBufferOffsetInstanceCountBaseVertexBaseInstance(long primitiveType, long indexCount, long indexType, @NotNull @NotNull MTLBuffer indexBuffer, long indexBufferOffset, long instanceCount, long baseVertex, long baseInstance)
-
drawPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetInstanceCountBaseInstanceTessellationFactorBufferTessellationFactorBufferOffsetTessellationFactorBufferInstanceStride
void drawPatchesPatchStartPatchCountPatchIndexBufferPatchIndexBufferOffsetInstanceCountBaseInstanceTessellationFactorBufferTessellationFactorBufferOffsetTessellationFactorBufferInstanceStride(long numberOfPatchControlPoints, long patchStart, long patchCount, @Nullable @Nullable MTLBuffer patchIndexBuffer, long patchIndexBufferOffset, long instanceCount, long baseInstance, @NotNull @NotNull MTLBuffer buffer, long offset, long instanceStride)
-
drawPrimitivesVertexStartVertexCountInstanceCountBaseInstance
void drawPrimitivesVertexStartVertexCountInstanceCountBaseInstance(long primitiveType, long vertexStart, long vertexCount, long instanceCount, long baseInstance)
-
reset
void reset()
-
setFragmentBufferOffsetAtIndex
void setFragmentBufferOffsetAtIndex(@NotNull @NotNull MTLBuffer buffer, long offset, long index)
-
setRenderPipelineState
void setRenderPipelineState(@NotNull @NotNull MTLRenderPipelineState pipelineState)API-Since: 13.0
-
setVertexBufferOffsetAtIndex
void setVertexBufferOffsetAtIndex(@NotNull @NotNull MTLBuffer buffer, long offset, long index)
-
clearBarrier
void clearBarrier()
API-Since: 17.0
-
drawMeshThreadgroupsThreadsPerObjectThreadgroupThreadsPerMeshThreadgroup
void drawMeshThreadgroupsThreadsPerObjectThreadgroupThreadsPerMeshThreadgroup(MTLSize threadgroupsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup)
MTLIndirectCommandTypeDrawMeshThreadgroups API-Since: 17.0
-
drawMeshThreadsThreadsPerObjectThreadgroupThreadsPerMeshThreadgroup
void drawMeshThreadsThreadsPerObjectThreadgroupThreadsPerMeshThreadgroup(MTLSize threadsPerGrid, MTLSize threadsPerObjectThreadgroup, MTLSize threadsPerMeshThreadgroup)
MTLIndirectCommandTypeDrawMeshThreads API-Since: 17.0
-
setBarrier
void setBarrier()
API-Since: 17.0
-
setMeshBufferOffsetAtIndex
void setMeshBufferOffsetAtIndex(@NotNull @NotNull MTLBuffer buffer, long offset, long index)API-Since: 17.0
-
setObjectBufferOffsetAtIndex
void setObjectBufferOffsetAtIndex(@NotNull @NotNull MTLBuffer buffer, long offset, long index)API-Since: 17.0
-
setObjectThreadgroupMemoryLengthAtIndex
void setObjectThreadgroupMemoryLengthAtIndex(long length, long index)API-Since: 17.0
-
setVertexBufferOffsetAttributeStrideAtIndex
void setVertexBufferOffsetAttributeStrideAtIndex(@NotNull @NotNull MTLBuffer buffer, long offset, long stride, long index)sets vertex buffer at specified index with provided offset and stride. only call this when the buffer-index is part of the vertexDescriptor and has set its stride to `MTLBufferLayoutStrideDynamic` API-Since: 17.0
-
-