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.
    • Method Detail

      • device

        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.
      • label

        java.lang.String label()
      • staticThreadgroupMemoryLength

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

        boolean supportIndirectCommandBuffers()
        [@property] supportIndirectCommandBuffers Tells whether this pipeline state is usable through an Indirect Command Buffer.
      • newComputePipelineStateWithAdditionalBinaryFunctionsError

        MTLComputePipelineState newComputePipelineStateWithAdditionalBinaryFunctionsError​(NSArray<?> functions,
                                                                                          org.moe.natj.general.ptr.Ptr<NSError> error)