// // GLConvolutionDepthwise.h // MNN // // Created by MNN on 2019/01/31. // Copyright © 2018, Alibaba Group Holding Limited // #ifndef MNNDEMO_GLCONVOLUTIONDEPTHWISE_H #define MNNDEMO_GLCONVOLUTIONDEPTHWISE_H #include "core/Execution.hpp" #include "backend/opengl/GLConvolution.hpp" #include "MNN_generated.h" namespace MNN { namespace OpenGL { class GLConvolutionDepthwise : public GPUConvolution { public: GLConvolutionDepthwise(const std::vector &inputs, const Op *op, Backend *b); virtual ~GLConvolutionDepthwise(); virtual ErrorCode onExecute(const std::vector &inputs, const std::vector &outputs) override; virtual ErrorCode onResize(const std::vector &inputs, const std::vector &outputs) override; private: std::shared_ptr mKernelTexture; std::shared_ptr mBiasBuffer; std::shared_ptr mProgram; std::function mSetUniform; }; } // namespace OpenGL } // namespace MNN #endif // MNNDEMO_GLCONVOLUTION_H