|
Kompute
|
#include <OpAlgoDispatch.hpp>


Public Member Functions | |
| template<typename T = float> | |
| OpAlgoDispatch (const std::shared_ptr< kp::Algorithm > &algorithm, const std::vector< T > &pushConstants={}) noexcept | |
| OpAlgoDispatch (const OpAlgoDispatch &)=delete | |
| Make OpAlgoDispatch non-copyable. | |
| OpAlgoDispatch (const OpAlgoDispatch &&)=delete | |
| OpAlgoDispatch & | operator= (const OpAlgoDispatch &)=delete |
| OpAlgoDispatch & | operator= (const OpAlgoDispatch &&)=delete |
| virtual | ~OpAlgoDispatch () noexcept override |
| virtual 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 | |
| OpBase & | operator= (const OpBase &)=delete |
| OpBase & | operator= (const OpBase &&)=delete |
| virtual | ~OpBase () noexcept |
Operation that provides a general abstraction that simplifies the use of algorithm and parameter components which can be used with shaders. By default it enables the user to provide a dynamic number of tensors which are then passed as inputs.
|
inlinenoexcept |
Constructor that stores the algorithm to use as well as the relevant push constants to override when recording.
| algorithm | The algorithm object to use for dispatch |
| pushConstants | The push constants to use for override |
|
overridevirtualnoexcept |
Default destructor, which is in charge of destroying the algorithm components but does not destroy the underlying tensors
|
overridevirtual |
Does not perform any postEval commands.
| commandBuffer | The command buffer to record the command into. |
Implements kp::OpBase.
|
overridevirtual |
Does not perform any preEval commands.
| commandBuffer | The command buffer to record the command into. |
Implements kp::OpBase.
|
overridevirtual |
This records the commands that are to be sent to the GPU. This includes the barriers that ensure the memory has been copied before going in and out of the shader, as well as the dispatch operation that sends the shader processing to the gpu. This function also records the GPU memory copy of the output data for the staging buffer so it can be read by the host.
| commandBuffer | The command buffer to record the command into. |
Implements kp::OpBase.