luxlabs header browser preview


@class MPSExternalCNNBinary;
@protocol MPSNNPadding, MPSImageAllocator;

@interface MPSCNNBinaryKernel : MPSKernel {
    MPSExternalCNNBinary *_plugin;
    BOOL _pluginSupportsBatchEncode;
    BOOL _supportsBroadcasting;
    int _checkFlags;
    void /* function */ *_encode;
    void /* function */ *_batchEncode;
    void *_encodeData;
    unsigned long long _pluginOptions;
}

@property (nonatomic) struct { long long x; long long y; long long z; } primaryOffset;
@property (nonatomic) struct { long long x; long long y; long long z; } secondaryOffset;
@property (nonatomic) struct { struct { unsigned long long x; unsigned long long y; unsigned long long z; } origin; struct { unsigned long long width; unsigned long long height; unsigned long long depth; } size; } clipRect;
@property (nonatomic) unsigned long long destinationFeatureChannelOffset;
@property (nonatomic) unsigned long long primarySourceFeatureChannelOffset;
@property (nonatomic) unsigned long long secondarySourceFeatureChannelOffset;
@property (nonatomic) unsigned long long primarySourceFeatureChannelMaxCount;
@property (nonatomic) unsigned long long secondarySourceFeatureChannelMaxCount;
@property (nonatomic) unsigned long long primaryEdgeMode;
@property (nonatomic) unsigned long long secondaryEdgeMode;
@property (readonly, nonatomic) unsigned long long primaryKernelWidth;
@property (readonly, nonatomic) unsigned long long primaryKernelHeight;
@property (readonly, nonatomic) unsigned long long secondaryKernelWidth;
@property (readonly, nonatomic) unsigned long long secondaryKernelHeight;
@property (nonatomic) unsigned long long primaryStrideInPixelsX;
@property (nonatomic) unsigned long long primaryStrideInPixelsY;
@property (nonatomic) unsigned long long secondaryStrideInPixelsX;
@property (nonatomic) unsigned long long secondaryStrideInPixelsY;
@property (readonly, nonatomic) unsigned long long primaryDilationRateX;
@property (readonly, nonatomic) unsigned long long primaryDilationRateY;
@property (readonly, nonatomic) unsigned long long secondaryDilationRateX;
@property (readonly, nonatomic) unsigned long long secondaryDilationRateY;
@property (readonly, nonatomic) BOOL isBackwards;
@property (readonly, nonatomic) BOOL isStateModified;
@property (retain, nonatomic) id<MPSNNPadding> padding;
@property (retain, nonatomic) id<MPSImageAllocator> destinationImageAllocator;

- (BOOL)isResultStateReusedAcrossBatch;
- (unsigned long long)maxBatchSize;
- (id)init;
- (id)copyWithZone:(struct _NSZone { } *)a0 device:(id)a1;
- (id)initWithCoder:(id)a0 device:(id)a1;
- (void)dealloc;
- (void)encodeWithCoder:(id)a0;
- (id)initWithDevice:(id)a0;
- (id)debugDescription;
- (BOOL)appendBatchBarrier;
- (id)plugin;
- (BOOL)setPlugin:(id)a0;
- (void)encodeBatchToCommandBuffer:(id)a0 primaryImages:(id)a1 secondaryImages:(id)a2 destinationImages:(id)a3;
- (void)encodeToCommandBuffer:(id)a0 primaryImage:(id)a1 secondaryImage:(id)a2 destinationImage:(id)a3;
- (void)encodeToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImage:(id)a2 secondaryImage:(id)a3 destinationImage:(id)a4;
- (struct MPSRegion { struct MPSOrigin { double x0; double x1; double x2; } x0; struct MPSSize { double x0; double x1; double x2; } x1; })primarySourceRegionForDestinationSize:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a0;
- (struct MPSRegion { struct MPSOrigin { double x0; double x1; double x2; } x0; struct MPSSize { double x0; double x1; double x2; } x1; })secondarySourceRegionForDestinationSize:(struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; })a0;
- (unsigned long long)batchEncodingStorageSizeForPrimaryImage:(id)a0 secondaryImage:(id)a1 sourceStates:(id)a2 destinationImage:(id)a3;
- (void)copyToBinaryGradientState:(id)a0 primaryImage:(id)a1 secondaryImage:(id)a2 sourceStates:(id)a3 destinationImage:(id)a4;
- (id)destinationImageDescriptorForSourceImages:(id)a0 sourceStates:(id)a1;
- (id)destinationImageDescriptorForSourceImages:(id)a0 sourceStates:(id)a1 paddingMethod:(unsigned long long)a2 primaryOffset:(struct { long long x0; long long x1; long long x2; } *)a3 secondaryOffset:(struct { long long x0; long long x1; long long x2; } *)a4 kernelOffset:(struct { long long x0; long long x1; long long x2; } *)a5;
- (id)encodeBatchToCommandBuffer:(id)a0 primaryImages:(id)a1 secondaryImages:(id)a2;
- (id)encodeBatchToCommandBuffer:(id)a0 primaryImages:(id)a1 secondaryImages:(id)a2 destinationStates:(id *)a3 destinationStateIsTemporary:(BOOL)a4;
- (id)encodeBatchToCommandBuffer:(id)a0 primaryImages:(id)a1 secondaryImages:(id)a2 inStates:(id)a3;
- (void)encodeBatchToCommandBuffer:(id)a0 primaryImages:(id)a1 secondaryImages:(id)a2 inStates:(id)a3 destinationImages:(id)a4;
- (id)encodeBatchToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImages:(id)a2 secondaryImages:(id)a3;
- (void)encodeBatchToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImages:(id)a2 secondaryImages:(id)a3 destinationImages:(id)a4;
- (id)encodeBatchToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImages:(id)a2 secondaryImages:(id)a3 destinationStates:(id *)a4 destinationStateIsTemporary:(BOOL)a5;
- (id)encodeBatchToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImages:(id)a2 secondaryImages:(id)a3 inStates:(id)a4;
- (void)encodeBatchToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImages:(id)a2 secondaryImages:(id)a3 inStates:(id)a4 destinationImages:(id)a5;
- (void)encodeInternalBatchToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImages:(id)a2 secondaryImages:(id)a3 inStates:(id)a4 destinationImages:(id)a5 clipRect:(struct { struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; } x0; struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; } x1; })a6;
- (void)encodeInternalToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImage:(id)a2 secondaryImage:(id)a3 inState:(id)a4 destinationImage:(id)a5 subBatchIndex:(unsigned long long)a6 batchSize:(unsigned long long)a7 clipRect:(struct { struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; } x0; struct { unsigned long long x0; unsigned long long x1; unsigned long long x2; } x1; })a8;
- (id)encodeToCommandBuffer:(id)a0 primaryImage:(id)a1 secondaryImage:(id)a2;
- (id)encodeToCommandBuffer:(id)a0 primaryImage:(id)a1 secondaryImage:(id)a2 destinationState:(id *)a3 destinationStateIsTemporary:(BOOL)a4;
- (void)encodeToCommandBuffer:(id)a0 primaryImage:(id)a1 secondaryImage:(id)a2 inState:(id)a3 destinationImage:(id)a4;
- (id)encodeToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImage:(id)a2 secondaryImage:(id)a3;
- (id)encodeToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImage:(id)a2 secondaryImage:(id)a3 destinationState:(id *)a4 destinationStateIsTemporary:(BOOL)a5;
- (id)encodeToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImage:(id)a2 secondaryImage:(id)a3 inState:(id)a4;
- (void)encodeToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImage:(id)a2 secondaryImage:(id)a3 inState:(id)a4 destinationImage:(id)a5;
- (void)encodeToCommandEncoder:(id)a0 commandBuffer:(id)a1 primaryImage:(id)a2 secondaryImage:(id)a3 inState:(id)a4 destinationImage:(id)a5 subBatchIndex:(unsigned long long)a6 batchSize:(unsigned long long)a7;
- (unsigned long long)encodingStorageSizeForPrimaryImage:(id)a0 secondaryImage:(id)a1 sourceStates:(id)a2 destinationImage:(id)a3;
- (BOOL)filterHandlesPlugin;
- (id)resultStateBatchForPrimaryImage:(id)a0 secondaryImage:(id)a1 sourceStates:(id)a2 destinationImage:(id)a3;
- (id)resultStateForPrimaryImage:(id)a0 secondaryImage:(id)a1 sourceStates:(id)a2 destinationImage:(id)a3;
- (id)temporaryResultStateBatchForCommandBuffer:(id)a0 primaryImage:(id)a1 secondaryImage:(id)a2 sourceStates:(id)a3 destinationImage:(id)a4;
- (id)temporaryResultStateForCommandBuffer:(id)a0 primaryImage:(id)a1 secondaryImage:(id)a2 sourceStates:(id)a3 destinationImage:(id)a4;

@end