Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

mpstemporarymatrix(3) [mojave man page]

MPSTemporaryMatrix(3)					 MetalPerformanceShaders.framework				     MPSTemporaryMatrix(3)

NAME
MPSTemporaryMatrix SYNOPSIS
#import <MPSMatrixTypes.h> Inherits MPSMatrix. Instance Methods (nonnull instancetype) - initWithBuffer:descriptor: Class Methods (nonnull instancetype) + temporaryMatrixWithCommandBuffer:matrixDescriptor: (void) + prefetchStorageWithCommandBuffer:matrixDescriptorList: Properties NSUInteger readCount Method Documentation - (nonnull instancetype) initWithBuffer: (nonnull id< MTLBuffer >) buffer(nonnull MPSMatrixDescriptor *) descriptor *** unavailable Reimplemented from MPSMatrix. + (void) prefetchStorageWithCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(NSArray< MPSMatrixDescriptor * > *__nonnull) descriptorList Help MPS decide which allocations to make ahead of time The buffer cache that underlies the MPSTemporaryMatrix can automatically allocate new storage as needed as you create new temporary matrices. However, sometimes a more global view of what you plan to make is useful for maximizing memory reuse to get the most efficient operation. This class method hints to the cache what the list of matrices will be. It is never necessary to call this method. It is purely a performance and memory optimization. Parameters: commandBuffer The command buffer on which the MPSTemporaryMatrix will be used descriptorList A NSArray of MPSMatrixDescriptor, indicating matrices that will be created + (nonnull instancetype) temporaryMatrixWithCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(nonnull MPSMatrixDescriptor *) matrixDescriptor Initialize a MPSTemporaryMatrix for use on a MTLCommandBuffer Parameters: commandBuffer The MTLCommandBuffer on which the MPSTemporaryMatrix will be exclusively used matrixDescriptor A valid MPSMatrixDescriptor describing the MPSMatrix format to create Returns: A valid MPSTemporaryMatrix. The object is not managed by a NSAutoreleasePool. The object will be released when the command buffer is committed. The underlying buffer will become invalid before this time due to the action of the readCount property. Please read and understand the use of the readCount property before using this object. Property Documentation - (NSUInteger) readCount [read], [write], [nonatomic], [assign] The number of times a temporary matrix may be read by a MPSMatrix... kernel before its contents become undefined. MPSTemporaryMatrices must release their underlying buffers for reuse immediately after last use. So as to facilitate prompt convenient memory recycling, each time a MPSTemporaryMatrix is read by a MPSMatrix... -encode... method, its readCount is automatically decremented. When the readCount reaches 0, the underlying buffer is automatically made available for reuse to MPS for its own needs and for other MPSTemporaryMatrices prior to return from the -encode.. function. The contents of the buffer become undefined at this time. By default, the readCount is initialized to 1, indicating a matrix that may be overwritten any number of times, but read only once. You may change the readCount as desired to allow MPSMatrixKernels to read the MPSTemporaryMatrix additional times. However, it is an error to change the readCount once it is zero. It is an error to read or write to a MPSTemporaryMatrix with a zero readCount. You may set the readCount to 0 yourself to cause the underlying buffer to be returned to MPS. Writing to a MPSTemporaryMatrix does not adjust the readCount. The Metal API Validation layer will assert if a MPSTemporaryMatrix is deallocated with non-zero readCount to help identify cases when resources are not returned promptly. Author Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code. Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSTemporaryMatrix(3)
Man Page