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

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

#include <PipelineMaterialPayload.h>

Collaboration diagram for EngineCore::ComputePipeline:

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
ComputeShadercomputeShader = nullptr
VkPipelineLayout layout = VK_NULL_HANDLE

Detailed Description

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

Author
Konstantin Passig
Date
15.12.2025

Definition at line 217 of file PipelineMaterialPayload.h.

Constructor & Destructor Documentation

◆ ComputePipeline()

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

Definition at line 376 of file PipelineMaterialPayload.cpp.

References computeShader, device, layout, pipeline, and VulkanHelper::setObjectName().

Here is the call graph for this function:

◆ ~ComputePipeline()

EngineCore::ComputePipeline::~ComputePipeline ( )

Definition at line 417 of file PipelineMaterialPayload.cpp.

References cleanup(), computeShader, and pipeline.

Here is the call graph for this function:

Member Function Documentation

◆ bind()

void EngineCore::ComputePipeline::bind ( VkCommandBuffer commandBuffer)

Binds this pipeline to an arbitrary command buffer.

Parameters
commandBufferwhich command buffer to bind this pipeline to
Author
Konstantin Passig
Date
15.12.2025

Definition at line 438 of file PipelineMaterialPayload.cpp.

References pipeline.

Referenced by EngineCore::Renderer::recordPass2Culling(), EngineCore::Renderer::recordVSInstancedDrawingPipeline(), and EngineCore::Renderer::renderToXr().

Here is the caller graph for this function:

◆ cleanup()

void EngineCore::ComputePipeline::cleanup ( )

Cleans up all the resource handles of this object.

Author
Konstantin Passig
Date
15.12.2025

Definition at line 426 of file PipelineMaterialPayload.cpp.

References computeShader, device, and pipeline.

Referenced by ~ComputePipeline().

Here is the caller graph for this function:

◆ get()

VkPipeline EngineCore::ComputePipeline::get ( ) const
inline

Getter for the raw vulkan pipeline.

Returns
the vulkan pipeline
Author
Konstantin Passig
Date
15.12.2025

Definition at line 244 of file PipelineMaterialPayload.h.

References pipeline.

Member Data Documentation

◆ computeShader

ComputeShader* EngineCore::ComputePipeline::computeShader = nullptr
private

Definition at line 256 of file PipelineMaterialPayload.h.

Referenced by cleanup(), ComputePipeline(), and ~ComputePipeline().

◆ device

VkDevice EngineCore::ComputePipeline::device = VK_NULL_HANDLE
private

Definition at line 254 of file PipelineMaterialPayload.h.

Referenced by cleanup(), and ComputePipeline().

◆ layout

VkPipelineLayout EngineCore::ComputePipeline::layout = VK_NULL_HANDLE
private

Definition at line 257 of file PipelineMaterialPayload.h.

Referenced by ComputePipeline().

◆ pipeline

VkPipeline EngineCore::ComputePipeline::pipeline = VK_NULL_HANDLE
private

Definition at line 255 of file PipelineMaterialPayload.h.

Referenced by bind(), cleanup(), ComputePipeline(), get(), and ~ComputePipeline().


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