#ifndef VulkanRaster_hpp #define VulkanRaster_hpp #include "VulkanBasicExecution.hpp" namespace MNN { class VulkanRaster : public VulkanBasicExecution { public: VulkanRaster(Backend *bn) : VulkanBasicExecution(bn) { //Do nothing } virtual ~VulkanRaster(); virtual ErrorCode onEncode(const std::vector &inputs, const std::vector &outputs, const VulkanCommandPool::Buffer *cmdBuffer) override; void onEncodeFast(const Tensor* input, const Tensor* output, const VulkanCommandPool::Buffer *cmdBuffer, bool zero); struct Componet { Tensor* real; std::shared_ptr exe; }; static Componet create(Tensor* real, Backend* bn); private: void _recycle(); std::vector> mExtraDescribes; std::vector> mExtraUniform; std::map> mInputBuffers; std::pair mOutputBuffer; }; }; #endif