Files
2026-07-13 13:33:03 +08:00

34 lines
939 B
C++

//
// VulkanBinary.hpp
// MNN
//
// Created by MNN on 2019/01/31.
// Copyright © 2018, Alibaba Group Holding Limited
//
#ifndef VulkanBinary_hpp
#define VulkanBinary_hpp
#include <stdio.h>
#include "VulkanBasicExecution.hpp"
namespace MNN {
class VulkanBinary : public VulkanBasicExecution {
public:
VulkanBinary(const std::string& shaderName, Backend* bn, int activationType, int inputSize);
virtual ~VulkanBinary();
static std::string getMidName(const Op* op);
virtual ErrorCode onEncode(const std::vector<Tensor*>& inputs, const std::vector<Tensor*>& outputs,
const VulkanCommandPool::Buffer* cmdBuffer) override;
private:
std::vector<std::shared_ptr<VulkanBuffer>> mConstBuffer;
const VulkanPipeline* mBinaryPipeline;
std::vector<std::shared_ptr<VulkanLayout::DescriptorSet>> mDescriptorSet;
int mActivationType = 0;
};
} // namespace MNN
#endif /* VulkanBinary_hpp */