Vulkan Schnee 0.0.1
High-performance rendering engine
Loading...
Searching...
No Matches
Engine::Rendering::ComputePipeline Class Reference

A wrapper for vulkan pipeline resources. In this case a typesafe compute pipeline. More...

#include <PipelineMaterialPayload.h>

Public Member Functions

 ComputePipeline (VkDevice device, VkPipelineLayout layout, std::string shaderFilename, std::optional< const PipelineSpecializationData * > pSpecializationData)
 ~ComputePipeline ()
void bind (VkCommandBuffer commandBuffer)
 Binds this pipeline to an arbitrary command buffer.
VkPipeline get () const
 Getter for the raw vulkan pipeline.
void cleanup ()
 Cleans up all the resource handles of this object.

Private Attributes

VkDevice device = VK_NULL_HANDLE
VkPipeline pipeline = VK_NULL_HANDLE
Core::ComputeShader * computeShader = nullptr
VkPipelineLayout layout = VK_NULL_HANDLE

Detailed Description

A wrapper for vulkan pipeline resources. In this case a typesafe compute pipeline.

Definition at line 213 of file PipelineMaterialPayload.h.

Constructor & Destructor Documentation

◆ ComputePipeline()

Engine::Rendering::ComputePipeline::ComputePipeline ( VkDevice device,
VkPipelineLayout layout,
std::string shaderFilename,
std::optional< const PipelineSpecializationData * > pSpecializationData )

References device, and layout.

◆ ~ComputePipeline()

Engine::Rendering::ComputePipeline::~ComputePipeline ( )

Member Function Documentation

◆ bind()

void Engine::Rendering::ComputePipeline::bind ( VkCommandBuffer commandBuffer)

Binds this pipeline to an arbitrary command buffer.

Parameters
commandBufferwhich command buffer to bind this pipeline to

◆ cleanup()

void Engine::Rendering::ComputePipeline::cleanup ( )

Cleans up all the resource handles of this object.

◆ get()

VkPipeline Engine::Rendering::ComputePipeline::get ( ) const
inline

Getter for the raw vulkan pipeline.

Returns
the vulkan pipeline

Definition at line 234 of file PipelineMaterialPayload.h.

References pipeline.

Member Data Documentation

◆ computeShader

Core::ComputeShader* Engine::Rendering::ComputePipeline::computeShader = nullptr
private

Definition at line 243 of file PipelineMaterialPayload.h.

◆ device

VkDevice Engine::Rendering::ComputePipeline::device = VK_NULL_HANDLE
private

Definition at line 241 of file PipelineMaterialPayload.h.

Referenced by ComputePipeline().

◆ layout

VkPipelineLayout Engine::Rendering::ComputePipeline::layout = VK_NULL_HANDLE
private

Definition at line 244 of file PipelineMaterialPayload.h.

Referenced by ComputePipeline().

◆ pipeline

VkPipeline Engine::Rendering::ComputePipeline::pipeline = VK_NULL_HANDLE
private

Definition at line 242 of file PipelineMaterialPayload.h.

Referenced by get().


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