1 //
2 //  VulkanResize.hpp
3 //  MNN
4 //
5 //  Created by MNN on 2019/01/31.
6 //  Copyright © 2018, Alibaba Group Holding Limited
7 //
8 
9 #ifndef VulkanResize_hpp
10 #define VulkanResize_hpp
11 #include "VulkanBasicExecution.hpp"
12 
13 namespace MNN {
14 class VulkanResize : public VulkanBasicExecution {
15 public:
16     VulkanResize(Backend* bn, float xScale, float yScale, int resizeType=2);
17     virtual ~VulkanResize();
18     ErrorCode encodeImpl(Tensor* input, Tensor* output, const float* transform,
19                          const VulkanCommandPool::Buffer* cmdBuffer);
20 
21 private:
22     float mXScale;
23     float mYScale;
24     std::shared_ptr<VulkanBuffer> mParamBuffer;
25     const VulkanPipeline* mVulkanResizePipeline;
26     std::shared_ptr<VulkanPipeline::DescriptorSet> mDescriptorSet;
27 };
28 } // namespace MNN
29 #endif
30