luxlabs header browser preview


@protocol MTLDevice, MTLLibrary, MTLCommandQueue, MTLComputePipelineState;

@interface Backwarp : NSObject {
    id<MTLDevice> _device;
    id<MTLCommandQueue> _commandQueue;
    id<MTLLibrary> _mtlLibrary;
    id<MTLComputePipelineState> _backwarpKernel;
    id<MTLComputePipelineState> _backwarpLossKernel;
    id<MTLComputePipelineState> _flowUpscaleKernel;
    id<MTLComputePipelineState> _backwarpLossWithFlowMagnitudeKernel;
    id<MTLComputePipelineState> _subsampleFlowKernel;
    id<MTLComputePipelineState> _subsampleErrorKernel;
    id<MTLComputePipelineState> _upscaleErrorKernel;
    id<MTLComputePipelineState> _subsampleInputKernel;
    id<MTLComputePipelineState> _padTextureKernel;
    id<MTLComputePipelineState> _reverseFlowKernel;
    id<MTLComputePipelineState> _flowSplattingWarpKernel;
    id<MTLComputePipelineState> _flowReshuffleKernel;
    BOOL _interleaved;
}

- (void)dealloc;
- (void).cxx_destruct;
- (void)setupMetal;
- (void)calcBackwarpLoss:(id)a0 second:(id)a1 flow:(id)a2 timeScale:(float)a3 destination:(id)a4;
- (void)copyTextureWithPaddingSource:(id)a0 destination:(id)a1;
- (void)encodeBackwarpLossToCommandBuffer:(id)a0 first:(id)a1 second:(id)a2 flow:(id)a3 timeScale:(float)a4 destination:(id)a5;
- (void)encodeBackwarpLossWithFlowMagnitudeToCommandBuffer:(id)a0 first:(id)a1 second:(id)a2 flow:(id)a3 timeScale:(float)a4 gamma:(float)a5 protectionThreshold:(float)a6 destination:(id)a7;
- (void)encodeFlowSplattingWarpToCommandBuffer:(id)a0 source:(id)a1 flow:(id)a2 timeScale:(float)a3 destination:(id)a4;
- (void)encodePaddingTextureToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2;
- (void)encodeReShuffleFlowToCommandBuffer:(id)a0 shuffledFlow:(id)a1 previousFlow:(id)a2 destination:(id)a3;
- (void)encodeReverseFlowToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2;
- (void)encodeSubsampleErrorToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2;
- (void)encodeSubsampleFlowToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2;
- (void)encodeSubsampleInputToCommandBufferr:(id)a0 source:(id)a1 destination:(id)a2;
- (void)encodeSubsampleToCommandBufferr:(id)a0 source:(id)a1 destination:(id)a2 kernel:(id)a3;
- (void)encodeToCommandBuffer:(id)a0 source:(id)a1 flow:(id)a2 destination:(id)a3 upscaledFlow:(id)a4;
- (void)encodeUpscaleErrorToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2;
- (void)encodeUpscaleFlowToCommandBuffer:(id)a0 source:(id)a1 destination:(id)a2;
- (id)initWithDevice:(id)a0 interleaved:(BOOL)a1;
- (void)reverseFlowWithSource:(id)a0 destination:(id)a1;
- (void)upscaleFlow:(id)a0 destination:(id)a1;
- (void)warpImage:(id)a0 to:(id)a1 withFlow:(id)a2 upscaledFlow:(id)a3;

@end