Interface MTLComputePipelineState


  • public interface MTLComputePipelineState
    [@protocol] MTLComputePipelineState A handle to compiled code for a compute function. MTLComputePipelineState is a single compute function. It can only be used with the device that it was created against. API-Since: 8.0
    • Method Detail

      • device

        @NotNull
        @NotNull MTLDevice device()
        [@property] device The device this resource was created against. This resource can only be used with this device.
      • maxTotalThreadsPerThreadgroup

        long maxTotalThreadsPerThreadgroup()
        [@property] maxTotalThreadsPerThreadgroup The maximum total number of threads that can be in a single compute threadgroup.
      • threadExecutionWidth

        long threadExecutionWidth()
        [@property] threadExecutionWidth For most efficient execution, the threadgroup size should be a multiple of this when executing the kernel.
      • imageblockMemoryLengthForDimensions

        long imageblockMemoryLengthForDimensions​(MTLSize imageblockDimensions)
        imageblockMemoryLengthForDimensions: Returns imageblock memory length for given image block dimensions. API-Since: 11.0
      • label

        @Nullable
        @Nullable java.lang.String label()
        API-Since: 11.0
      • staticThreadgroupMemoryLength

        long staticThreadgroupMemoryLength()
        [@property] staticThreadgroupMemoryLength The length in bytes of threadgroup memory that is statically allocated. API-Since: 11.0
      • supportIndirectCommandBuffers

        boolean supportIndirectCommandBuffers()
        [@property] supportIndirectCommandBuffers Tells whether this pipeline state is usable through an Indirect Command Buffer. API-Since: 13.0
      • functionHandleWithFunction

        @Nullable
        @Nullable MTLFunctionHandle functionHandleWithFunction​(@NotNull
                                                               @NotNull MTLFunction function)
        functionHandleWithFunction: Get the function handle for the specified function from the pipeline state. API-Since: 14.0
      • newComputePipelineStateWithAdditionalBinaryFunctionsError

        @Nullable
        @Nullable MTLComputePipelineState newComputePipelineStateWithAdditionalBinaryFunctionsError​(@NotNull
                                                                                                    @NotNull NSArray<?> functions,
                                                                                                    @Nullable
                                                                                                    @Nullable org.moe.natj.general.ptr.Ptr<NSError> error)
        newRenderPipelineStateWithAdditionalBinaryFunctions:stage: Allocate a new compute pipeline state by adding binary functions to this pipeline state. API-Since: 14.0
      • newIntersectionFunctionTableWithDescriptor

        @Nullable
        @Nullable MTLIntersectionFunctionTable newIntersectionFunctionTableWithDescriptor​(@NotNull
                                                                                          @NotNull MTLIntersectionFunctionTableDescriptor descriptor)
        newIntersectionFunctionTableWithDescriptor: Allocate an intersection function table for the pipeline with the provided descriptor. API-Since: 14.0
      • newVisibleFunctionTableWithDescriptor

        @Nullable
        @Nullable MTLVisibleFunctionTable newVisibleFunctionTableWithDescriptor​(@NotNull
                                                                                @NotNull MTLVisibleFunctionTableDescriptor descriptor)
        newVisibleFunctionTableWithDescriptor: Allocate a visible function table for the pipeline with the provided descriptor. API-Since: 14.0
      • gpuResourceID

        MTLResourceID gpuResourceID()
        [@property] gpuResourceID Handle of the GPU resource suitable for storing in an Argument Buffer API-Since: 16.0