Package apple.metal.protocol
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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description @NotNull MTLDevicedevice()@Nullable MTLFunctionHandlefunctionHandleWithFunctionStage(@NotNull MTLFunction function, long stage)functionHandleWithFunction:stage: Gets the function handle for the specified function on the specified stage of the pipeline.MTLResourceIDgpuResourceID()[@property] gpuResourceID Handle of the GPU resource suitable for storing in an Argument Buffer API-Since: 16.0longimageblockMemoryLengthForDimensions(MTLSize imageblockDimensions)imageblockMemoryLengthForDimensions:sampleCount: Returns imageblock memory length for given image block dimensions.longimageblockSampleLength()[@property] imageblockSampleLength Returns imageblock memory length used by a single sample when rendered using this pipeline.@Nullable java.lang.Stringlabel()longmaxTotalThreadgroupsPerMeshGrid()[@property] maxTotalThreadgroupsPerMeshGrid The maximum total number of threadgroups that can be in a single mesh shader grid.longmaxTotalThreadsPerMeshThreadgroup()[@property] maxTotalThreadsPerMeshThreadgroup The maximum total number of threads that can be in a single mesh shader threadgroup.longmaxTotalThreadsPerObjectThreadgroup()[@property] maxTotalThreadsPerObjectThreadgroup The maximum total number of threads that can be in a single object shader threadgroup.longmaxTotalThreadsPerThreadgroup()[@property] maxTotalThreadsPerThreadgroup The maximum total number of threads that can be in a single tile shader threadgroup.longmeshThreadExecutionWidth()[@property] meshThreadExecutionWidth The number of threads in a SIMD group of the mesh shader.@Nullable MTLIntersectionFunctionTablenewIntersectionFunctionTableWithDescriptorStage(@NotNull MTLIntersectionFunctionTableDescriptor descriptor, long stage)newIntersectionFunctionTableWithDescriptor:stage: Allocate an intersection function table for the specified stage of the pipeline with the provided descriptor.@Nullable MTLRenderPipelineStatenewRenderPipelineStateWithAdditionalBinaryFunctionsError(@NotNull MTLRenderPipelineFunctionsDescriptor additionalBinaryFunctions, @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.@Nullable MTLVisibleFunctionTablenewVisibleFunctionTableWithDescriptorStage(@NotNull MTLVisibleFunctionTableDescriptor descriptor, long stage)newVisibleFunctionTableWithDescriptor:stage: Allocate a visible function table for the specified stage of the pipeline with the provided descriptor.longobjectThreadExecutionWidth()[@property] objectThreadExecutionWidth The number of threads in a SIMD group of the object shader.booleansupportIndirectCommandBuffers()API-Since: 12.0booleanthreadgroupSizeMatchesTileSize()[@property] threadgroupSizeMatchesTileSize Returns true when the pipeline state requires a tile shader threadgroup size equal to the tile size API-Since: 11.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
-
-