MPSImageCopyToMatrix(3) MetalPerformanceShaders.framework MPSImageCopyToMatrix(3)
NAME
MPSImageCopyToMatrix
SYNOPSIS
#import <MPSImageCopy.h>
Inherits MPSKernel.
Instance Methods
(nonnull instancetype) - initWithDevice:dataLayout:
(nullable instancetype) - initWithCoder:device:
(void) - encodeToCommandBuffer:sourceImage:destinationMatrix:
Properties
MTLOrigin destinationMatrixOrigin
NSUInteger destinationMatrixBatchIndex
MPSDataLayout dataLayout
Additional Inherited Members
Detailed Description
MPSImageCopy.h MetalPerformanceShaders.framework
Copyright:
Copyright (c) 2017 Apple Inc. All rights reserved. MetalPerformanceShaders histogram filters
The MPSImageCopyToMatrix copies image data to a MPSMatrix. The image data is stored in a row of a matrix. The dataLayout specifies the
order in which the feature channels in the MPSImage get stored in the matrix. If MPSImage stores a batch of images, the images are copied
into multiple rows, one row per image.
The number of elements in a row in the matrix must be >= image width * image height * number of featureChannels in the image.
Method Documentation
- (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer >) commandBuffer(nonnull MPSImage *) sourceImage(nonnull MPSMatrix *)
destinationMatrix
Encode a kernel that copies a MPSImage to a MPSMatrix into a command buffer using a MTLComputeCommandEncoder. The kernel copies feature
channels from sourceImage to the buffer associated with destinationMatrix. The kernel will not begin to execute until after the command
buffer has been enqueued and committed.
NOTE: The destinationMatrix.dataType must match the feature channel data type in sourceImage.
Parameters:
commandBuffer A valid MTLCommandBuffer.
sourceImage A valid MPSImage describing the image to copy from.
destinationMatrix A valid MPSMatrix or MPSTemporaryMatrix object describing the matrix to copy to.
- (nullable instancetype) initWithCoder: (NSCoder *__nonnull) aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding compatability While the standard NSSecureCoding/NSCoding method -initWithCoder: should work, since the file can't know
which device your data is allocated on, we have to guess and may guess incorrectly. To avoid that problem, use initWithCoder:device
instead.
Parameters:
aDecoder The NSCoder subclass with your serialized MPSKernel
device The MTLDevice on which to make the MPSKernel
Returns:
A new MPSKernel object, or nil if failure.
Reimplemented from MPSKernel.
- (nonnull instancetype) initWithDevice: (nonnull id< MTLDevice >) device(MPSDataLayout) dataLayout
Initialize a MPSMatrixCopy object on a device
Parameters:
device The device the kernel will run on
dataLayout The data layout
Returns:
A valid MPSMatrixCopy object or nil, if failure.
Property Documentation
- dataLayout [read], [nonatomic], [assign]
The data layout to use Returns the data layout. When copying from a MPSImage to a MPSMatrix, this describes the order in which the image
values are stored in the buffer associated with the MPSMatrix. Default: MPSDataLayoutFeatureChannelsxHeightxWidth
- destinationMatrixBatchIndex [read], [write], [nonatomic], [assign]
The index of the destination matrix in the batch. This property is modifiable and defaults to 0 at initialization time.
- destinationMatrixOrigin [read], [write], [nonatomic], [assign]
The origin, relative to [0, 0] in the destination matrix, at which to start writing results. This property is modifiable and defaults to
[0, 0] at initialization time. If a different origin is desired then this should be modified prior to encoding the kernel. The z value must
be 0.
Author
Generated automatically by Doxygen for MetalPerformanceShaders.framework from the source code.
Version MetalPerformanceShaders-100 Thu Feb 8 2018 MPSImageCopyToMatrix(3)