Interface MTLRenderPipelineState


  • public interface MTLRenderPipelineState
    [@protocol] MTLRenderPipelineState MTLRenderPipelineState represents a compiled render pipeline MTLRenderPipelineState is a compiled render pipeline and can be set on a MTLRenderCommandEncoder. API-Since: 8.0
    • Method Detail

      • device

        @NotNull
        @NotNull MTLDevice device()
      • label

        @Nullable
        @Nullable java.lang.String label()
      • imageblockMemoryLengthForDimensions

        long imageblockMemoryLengthForDimensions​(MTLSize imageblockDimensions)
        imageblockMemoryLengthForDimensions:sampleCount: Returns imageblock memory length for given image block dimensions. Dimensions must be valid tile dimensions. API-Since: 11.0
      • imageblockSampleLength

        long imageblockSampleLength()
        [@property] imageblockSampleLength Returns imageblock memory length used by a single sample when rendered using this pipeline. API-Since: 11.0
      • maxTotalThreadsPerThreadgroup

        long maxTotalThreadsPerThreadgroup()
        [@property] maxTotalThreadsPerThreadgroup The maximum total number of threads that can be in a single tile shader threadgroup. API-Since: 11.0
      • threadgroupSizeMatchesTileSize

        boolean threadgroupSizeMatchesTileSize()
        [@property] threadgroupSizeMatchesTileSize Returns true when the pipeline state requires a tile shader threadgroup size equal to the tile size API-Since: 11.0
      • supportIndirectCommandBuffers

        boolean supportIndirectCommandBuffers()
        API-Since: 12.0
      • functionHandleWithFunctionStage

        @Nullable
        @Nullable MTLFunctionHandle functionHandleWithFunctionStage​(@NotNull
                                                                    @NotNull MTLFunction function,
                                                                    long stage)
        functionHandleWithFunction:stage: Gets the function handle for the specified function on the specified stage of the pipeline. API-Since: 15.0
      • newIntersectionFunctionTableWithDescriptorStage

        @Nullable
        @Nullable MTLIntersectionFunctionTable newIntersectionFunctionTableWithDescriptorStage​(@NotNull
                                                                                               @NotNull MTLIntersectionFunctionTableDescriptor descriptor,
                                                                                               long stage)
        newIntersectionFunctionTableWithDescriptor:stage: Allocate an intersection function table for the specified stage of the pipeline with the provided descriptor. API-Since: 15.0
      • newRenderPipelineStateWithAdditionalBinaryFunctionsError

        @Nullable
        @Nullable MTLRenderPipelineState newRenderPipelineStateWithAdditionalBinaryFunctionsError​(@NotNull
                                                                                                  @NotNull MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions,
                                                                                                  @Nullable
                                                                                                  @Nullable org.moe.natj.general.ptr.Ptr<NSError> error)
        newRenderPipelineStateWithAdditionalBinaryFunctions:error: Allocate a new render pipeline state by adding binary functions for each stage of this pipeline state. API-Since: 15.0
      • newVisibleFunctionTableWithDescriptorStage

        @Nullable
        @Nullable MTLVisibleFunctionTable newVisibleFunctionTableWithDescriptorStage​(@NotNull
                                                                                     @NotNull MTLVisibleFunctionTableDescriptor descriptor,
                                                                                     long stage)
        newVisibleFunctionTableWithDescriptor:stage: Allocate a visible function table for the specified stage of the pipeline with the provided descriptor. API-Since: 15.0
      • gpuResourceID

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

        long maxTotalThreadgroupsPerMeshGrid()
        [@property] maxTotalThreadgroupsPerMeshGrid The maximum total number of threadgroups that can be in a single mesh shader grid. This value is set in MTLMeshRenderPipelineDescriptor. API-Since: 16.0
      • maxTotalThreadsPerMeshThreadgroup

        long maxTotalThreadsPerMeshThreadgroup()
        [@property] maxTotalThreadsPerMeshThreadgroup The maximum total number of threads that can be in a single mesh shader threadgroup. This value is set in MTLMeshRenderPipelineDescriptor. API-Since: 16.0
      • maxTotalThreadsPerObjectThreadgroup

        long maxTotalThreadsPerObjectThreadgroup()
        [@property] maxTotalThreadsPerObjectThreadgroup The maximum total number of threads that can be in a single object shader threadgroup. This value is set in MTLMeshRenderPipelineDescriptor. API-Since: 16.0
      • meshThreadExecutionWidth

        long meshThreadExecutionWidth()
        [@property] meshThreadExecutionWidth The number of threads in a SIMD group of the mesh shader. This value is also available in the shader with the [[threads_per_simdgroup]] attribute. API-Since: 16.0
      • objectThreadExecutionWidth

        long objectThreadExecutionWidth()
        [@property] objectThreadExecutionWidth The number of threads in a SIMD group of the object shader. This value is also available in the shader with the [[threads_per_simdgroup]] attribute. API-Since: 16.0