PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
PixelBullet::PipelineCompute Class Reference

Class that represents a compute pipeline. More...

#include <PipelineCompute.hpp>

Inheritance diagram for PixelBullet::PipelineCompute:
PixelBullet::Pipeline

Public Member Functions

 PipelineCompute (const VirtualPath &shaderStage, std::vector< Shader::Define > defines={}, bool pushDescriptors=false)
 
void CmdRender (const CommandBuffer &commandBuffer, const glm::uvec2 &extent) const
 
const VirtualPathGetShaderStage () const
 
const std::vector< Shader::Define > & GetDefines () const
 
bool IsPushDescriptors () const override
 
const ShaderGetShader () const override
 
const VkDescriptorSetLayout & GetDescriptorSetLayout () const override
 
const VkDescriptorPool & GetDescriptorPool () const override
 
const VkPipeline & GetPipeline () const override
 
const VkPipelineLayout & GetPipelineLayout () const override
 
const VkPipelineBindPoint & GetPipelineBindPoint () const override
 
- Public Member Functions inherited from PixelBullet::Pipeline
void BindPipeline (const CommandBuffer &commandBuffer) const
 

Additional Inherited Members

- Public Types inherited from PixelBullet::Pipeline
using Stage = std::pair<uint32_t, uint32_t>
 

Detailed Description

Class that represents a compute pipeline.

Constructor & Destructor Documentation

◆ PipelineCompute()

PixelBullet::PipelineCompute::PipelineCompute ( const VirtualPath & shaderStage,
std::vector< Shader::Define > defines = {},
bool pushDescriptors = false )
explicit

Creates a new compute pipeline.

Parameters
shaderStageThe shader file that will be loaded.
definesA list of defines added to the top of each shader.
pushDescriptorsIf no actual descriptor sets are allocated but instead pushed.

Member Function Documentation

◆ CmdRender()

void PixelBullet::PipelineCompute::CmdRender ( const CommandBuffer & commandBuffer,
const glm::uvec2 & extent ) const

Dispatches the compute work.

Parameters
commandBufferThe command buffer to record into.
extentThe extent (in workgroup dimensions) to cover.

◆ GetDescriptorPool()

const VkDescriptorPool & PixelBullet::PipelineCompute::GetDescriptorPool ( ) const
inlineoverridevirtual

Implements PixelBullet::Pipeline.

◆ GetDescriptorSetLayout()

const VkDescriptorSetLayout & PixelBullet::PipelineCompute::GetDescriptorSetLayout ( ) const
inlineoverridevirtual

Implements PixelBullet::Pipeline.

◆ GetPipeline()

const VkPipeline & PixelBullet::PipelineCompute::GetPipeline ( ) const
inlineoverridevirtual

Implements PixelBullet::Pipeline.

◆ GetPipelineBindPoint()

const VkPipelineBindPoint & PixelBullet::PipelineCompute::GetPipelineBindPoint ( ) const
inlineoverridevirtual

Implements PixelBullet::Pipeline.

◆ GetPipelineLayout()

const VkPipelineLayout & PixelBullet::PipelineCompute::GetPipelineLayout ( ) const
inlineoverridevirtual

Implements PixelBullet::Pipeline.

◆ GetShader()

const Shader * PixelBullet::PipelineCompute::GetShader ( ) const
inlineoverridevirtual

Implements PixelBullet::Pipeline.

◆ IsPushDescriptors()

bool PixelBullet::PipelineCompute::IsPushDescriptors ( ) const
inlineoverridevirtual

Implements PixelBullet::Pipeline.


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