#import <MPSMatrixCombination.h>
Inherits MPSKernel.
(nonnull instancetype) - initWithDevice:
(nonnull instancetype) -
initWithDevice:copyRows:copyColumns:sourcesAreTransposed:destinationsAreTransposed:
(void) - encodeToCommandBuffer:copyDescriptor:
(void) -
encodeToCommandBuffer:copyDescriptor:rowPermuteIndices:rowPermuteOffset:columnPermuteIndices:columnPermuteOffset:
(nullable instancetype) - initWithCoder:device:
NSUInteger copyRows
NSUInteger copyColumns
BOOL sourcesAreTransposed
BOOL destinationsAreTransposed
- (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer
>) commandBuffer(MPSMatrixCopyDescriptor *__nonnull)
copyDescriptor
Encode the copy operations to the command buffer
Parameters:
commandBuffer A valid MTLCommandBuffer to
receive the encoded kernel.
copyDescriptor The descriptor that defines the copy operator
- (void) encodeToCommandBuffer: (nonnull id< MTLCommandBuffer
>) commandBuffer(MPSMatrixCopyDescriptor *__nonnull)
copyDescriptor(MPSVector *__nullable) rowPermuteIndices(NSUInteger)
rowPermuteOffset(MPSVector *__nullable)
columnPermuteIndices(NSUInteger) columnPermuteOffset
Encode the copy operations to the command buffer. This of the
encode version support permuting the outputs with custom vectors of indices.
The permutations are defined on the destination indices and are the same for
each copy operation.
Parameters:
commandBuffer A valid MTLCommandBuffer to
receive the encoded kernel.
copyDescriptor The descriptor that defines the copy operator
rowPermuteIndices If not nil then the output row index is
'rowPermuteIndices[i] + rowOffset' instead of 'i + rowOffset', where 'i' is
the local row index of the copy operation. Note: if destinationsAreTransposed
is set to YES then the destination transpose is performed before permutations.
rowPermuteOffset Offset in numbers to apply to the 'rowPermuteIndices'
vector.
columnPermuteIndices If not nil then the output column index is
'columnPermuteIndices[i] + columnOffset' instead of 'i + columnOffset', where
'i' is the local column index of the copy operation. Note: if
destinationsAreTransposed is set to YES then the destination transpose is
performed before permutations.
columnPermuteOffset Offset in numbers to apply to the
'columnPermuteIndices' vector.
- (nullable instancetype) initWithCoder: (NSCoder
*__nonnull) aDecoder(nonnull id< MTLDevice >) device
NSSecureCoding compatability See
MPSKernel::initWithCoder.
Parameters:
aDecoder The NSCoder subclass with your serialized
MPSMatrixLookUpAndCopy
device The MTLDevice on which to make the MPSMatrixLookUpAndCopy
Returns:
A new MPSMatrixLookUpAndCopy object, or nil if
failure.
Reimplemented from MPSKernel.
- (nonnull instancetype) initWithDevice: (nonnull id<
MTLDevice >) device
Standard init with default properties per filter type
Parameters:
device The device that the filter will be used on.
May not be NULL.
Returns:
a pointer to the newly initialized object. This will
fail, returning nil if the device is not supported. Devices must be
MTLFeatureSet_iOS_GPUFamily2_v1 or later.
Reimplemented from MPSKernel.
- (nonnull instancetype) initWithDevice: (nonnull id<
MTLDevice >) device(NSUInteger) copyRows(NSUInteger) copyColumns(BOOL)
sourcesAreTransposed(BOOL) destinationsAreTransposed
Initialize a copy operator
Parameters:
copyRows The number of rows to copy for each copy
operation
copyColumns The number of matrix columns to copy in each copy operation
sourcesAreTransposed If YES, the sources are in row major storage order
destinationsAreTransposed If YES, the destinations are in row major
storage order
- (NSUInteger) copyColumns [read], [nonatomic],
[assign]
The number of columns to copy for each copy operation
- (NSUInteger) copyRows [read], [nonatomic],
[assign]
The number of rows to copy for each copy operation
- (BOOL) destinationsAreTransposed [read], [nonatomic],
[assign]
If YES, the destinations are in row major storage order
- (BOOL) sourcesAreTransposed [read], [nonatomic],
[assign]
If YES, the sources are in row major storage order
Generated automatically by Doxygen for
MetalPerformanceShaders.framework from the source code.