@protocol MTLCommandQueue, MTLDevice, MTLRenderPipelineState; @interface ARGPUWarper : NSObject { id<MTLDevice> _device; id<MTLCommandQueue> _commandQueue; id<MTLRenderPipelineState> _homographyPipelineState; } - (id)init; - (id)description; - (void).cxx_destruct; - (void)warpCameraImage:(struct __CVBuffer { } *)a0 withExposureOffset:(float)a1 withCameraIntrinsics:(struct { void /* unknown type, empty encoding */ x0[3]; })a2 withCameraTransform:(struct { void /* unknown type, empty encoding */ x0[4]; })a3 toPlane:(struct ARTexturedPlane { struct array<unsigned char, 16UL> { unsigned char x0[16]; } x0; unsigned long long x1; struct { void /* unknown type, empty encoding */ x0[4]; } x2; struct array<float __attribute__((ext_vector_type(3))), 4UL> { void /* unknown type, empty encoding */ x0[4]; } x3; struct set<std::array<unsigned char, 16>, std::less<std::array<unsigned char, 16>>, std::allocator<std::array<unsigned char, 16>>> { struct __tree<std::array<unsigned char, 16>, std::less<std::array<unsigned char, 16>>, std::allocator<std::array<unsigned char, 16>>> { void *x0; struct __compressed_pair<std::__tree_end_node<std::__tree_node_base<void *> *>, std::allocator<std::__tree_node<std::array<unsigned char, 16>, void *>>> { struct __tree_end_node<std::__tree_node_base<void *> *> { void *x0; } x0; } x1; struct __compressed_pair<unsigned long, std::less<std::array<unsigned char, 16>>> { unsigned long long x0; } x2; } x0; } x4; id x5; })a4 withLoadAction:(unsigned long long)a5 synchronous:(BOOL)a6; - (void)warpPlane:(struct ARTexturedPlane { struct array<unsigned char, 16UL> { unsigned char x0[16]; } x0; unsigned long long x1; struct { void /* unknown type, empty encoding */ x0[4]; } x2; struct array<float __attribute__((ext_vector_type(3))), 4UL> { void /* unknown type, empty encoding */ x0[4]; } x3; struct set<std::array<unsigned char, 16>, std::less<std::array<unsigned char, 16>>, std::allocator<std::array<unsigned char, 16>>> { struct __tree<std::array<unsigned char, 16>, std::less<std::array<unsigned char, 16>>, std::allocator<std::array<unsigned char, 16>>> { void *x0; struct __compressed_pair<std::__tree_end_node<std::__tree_node_base<void *> *>, std::allocator<std::__tree_node<std::array<unsigned char, 16>, void *>>> { struct __tree_end_node<std::__tree_node_base<void *> *> { void *x0; } x0; } x1; struct __compressed_pair<unsigned long, std::less<std::array<unsigned char, 16>>> { unsigned long long x0; } x2; } x0; } x4; id x5; })a0 toPlane:(struct ARTexturedPlane { struct array<unsigned char, 16UL> { unsigned char x0[16]; } x0; unsigned long long x1; struct { void /* unknown type, empty encoding */ x0[4]; } x2; struct array<float __attribute__((ext_vector_type(3))), 4UL> { void /* unknown type, empty encoding */ x0[4]; } x3; struct set<std::array<unsigned char, 16>, std::less<std::array<unsigned char, 16>>, std::allocator<std::array<unsigned char, 16>>> { struct __tree<std::array<unsigned char, 16>, std::less<std::array<unsigned char, 16>>, std::allocator<std::array<unsigned char, 16>>> { void *x0; struct __compressed_pair<std::__tree_end_node<std::__tree_node_base<void *> *>, std::allocator<std::__tree_node<std::array<unsigned char, 16>, void *>>> { struct __tree_end_node<std::__tree_node_base<void *> *> { void *x0; } x0; } x1; struct __compressed_pair<unsigned long, std::less<std::array<unsigned char, 16>>> { unsigned long long x0; } x2; } x0; } x4; id x5; })a1 withLoadAction:(unsigned long long)a2 synchronous:(BOOL)a3; @end