Kompute
Loading...
Searching...
No Matches
OpCopy.hpp
1// SPDX-License-Identifier: Apache-2.0
2#pragma once
3
4#include "kompute/Core.hpp"
5
6#include "kompute/Memory.hpp"
7
8#include "kompute/operations/OpBase.hpp"
9
10namespace kp {
11
17class OpCopy : public OpBase
18{
19 public:
27 OpCopy(const std::vector<std::shared_ptr<Memory>>& memObjects);
28
33 OpCopy(const OpCopy&) = delete;
34 OpCopy(const OpCopy&&) = delete;
35 OpCopy& operator=(const OpCopy&) = delete;
36 OpCopy& operator=(const OpCopy&&) = delete;
37
42 ~OpCopy() noexcept override;
43
50 void record(const vk::CommandBuffer& commandBuffer) override;
51
57 virtual void preEval(const vk::CommandBuffer& commandBuffer) override;
58
65 virtual void postEval(const vk::CommandBuffer& commandBuffer) override;
66
67 private:
68 // -------------- ALWAYS OWNED RESOURCES
69 std::vector<std::shared_ptr<Memory>> mMemObjects;
70};
71
72} // End namespace kp
Definition Memory.hpp:16
Definition OpBase.hpp:20
Definition OpCopy.hpp:18
virtual void postEval(const vk::CommandBuffer &commandBuffer) override
~OpCopy() noexcept override
OpCopy(const std::vector< std::shared_ptr< Memory > > &memObjects)
virtual void preEval(const vk::CommandBuffer &commandBuffer) override
OpCopy(const OpCopy &)=delete
Make OpCopy non-copyable.
void record(const vk::CommandBuffer &commandBuffer) override