VkCV Framework
0.0.1
CV Vulkan framework
|
Classes | |
struct | ComputePipeline |
Public Member Functions | |
ComputePipelineManager (vk::Device device) noexcept | |
ComputePipelineManager (const ComputePipelineManager &other)=delete | |
ComputePipelineManager (ComputePipelineManager &&other)=delete | |
ComputePipelineManager & | operator= (const ComputePipelineManager &other)=delete |
ComputePipelineManager & | operator= (ComputePipelineManager &&other)=delete |
vk::Pipeline | getVkPipeline (const ComputePipelineHandle &handle) const |
vk::PipelineLayout | getVkPipelineLayout (const ComputePipelineHandle &handle) const |
ComputePipelineHandle | createComputePipeline (const ComputePipelineConfig &config) |
Private Member Functions | |
void | destroyPipelineById (uint64_t id) |
vk::Result | createShaderModule (vk::ShaderModule &module, const ShaderProgram &shaderProgram, ShaderStage stage) |
Private Attributes | |
vk::Device | m_Device |
std::vector< ComputePipeline > | m_Pipelines |
ComputePipelineHandle vkcv::ComputePipelineManager::createComputePipeline | ( | const ComputePipelineConfig & | config | ) |
Creates a Compute Pipeline based on the set shader stages in the Config Struct. This function is wrapped in /src/vkcv/Core.cpp by Core::createComputePipeline(const ComputePipelineConfig &config). On application level it is necessary first to fill a ComputePipelineConfig Struct.
config | Hands over all needed information for pipeline creation. |
vk::Pipeline vkcv::ComputePipelineManager::getVkPipeline | ( | const ComputePipelineHandle & | handle | ) | const |
Returns a vk::Pipeline object by handle.
handle | Directing to the requested pipeline. |
References vkcv::Handle::getId().
vk::PipelineLayout vkcv::ComputePipelineManager::getVkPipelineLayout | ( | const ComputePipelineHandle & | handle | ) | const |
Returns a vk::PipelineLayout object by handle.
handle | Directing to the requested pipeline. |
References vkcv::Handle::getId().