Kompute
Loading...
Searching...
No Matches
Public Member Functions | List of all members
kp::OpCopy Class Reference

#include <OpCopy.hpp>

Inheritance diagram for kp::OpCopy:
Inheritance graph
[legend]
Collaboration diagram for kp::OpCopy:
Collaboration graph
[legend]

Public Member Functions

 OpCopy (const std::vector< std::shared_ptr< Memory > > &memObjects)
 
 OpCopy (const OpCopy &)=delete
 Make OpCopy non-copyable.
 
 OpCopy (const OpCopy &&)=delete
 
OpCopyoperator= (const OpCopy &)=delete
 
OpCopyoperator= (const OpCopy &&)=delete
 
 ~OpCopy () noexcept override
 
void record (const vk::CommandBuffer &commandBuffer) override
 
virtual void preEval (const vk::CommandBuffer &commandBuffer) override
 
virtual void postEval (const vk::CommandBuffer &commandBuffer) override
 
- Public Member Functions inherited from kp::OpBase
 OpBase ()=default
 Construct a new OpBase object.
 
 OpBase (const OpBase &)=delete
 Make OpBase non-copyable.
 
 OpBase (const OpBase &&)=delete
 
OpBaseoperator= (const OpBase &)=delete
 
OpBaseoperator= (const OpBase &&)=delete
 
virtual ~OpBase () noexcept
 

Detailed Description

Operation that copies the data from the first memory object to the rest of the memory objects provided, using a record command for all the vectors. This operation does not own/manage the memory of the memory objects passed to it.

Constructor & Destructor Documentation

◆ OpCopy()

kp::OpCopy::OpCopy ( const std::vector< std::shared_ptr< Memory > > &  memObjects)

Default constructor with parameters that provides the core vulkan resources and the memory objects that will be used in the operation.

Parameters
memObjectsmemory objects that will be used to create in operation.

◆ ~OpCopy()

kp::OpCopy::~OpCopy ( )
overridenoexcept

Default destructor. This class does not manage memory so it won't be expecting the parent to perform a release.

Member Function Documentation

◆ postEval()

virtual void kp::OpCopy::postEval ( const vk::CommandBuffer &  commandBuffer)
overridevirtual

Copies the local vectors for all the memory objects to sync the data with the gpu.

Parameters
commandBufferThe command buffer to record the command into.

Implements kp::OpBase.

◆ preEval()

virtual void kp::OpCopy::preEval ( const vk::CommandBuffer &  commandBuffer)
overridevirtual

Does not perform any preEval commands.

Parameters
commandBufferThe command buffer to record the command into.

Implements kp::OpBase.

◆ record()

void kp::OpCopy::record ( const vk::CommandBuffer &  commandBuffer)
overridevirtual

Records the copy commands from the first memory object into all the other memory objects provided. Also optionally records a barrier.

Parameters
commandBufferThe command buffer to record the command into.

Implements kp::OpBase.


The documentation for this class was generated from the following file: