CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::GPUComputePipeline::Scope Class Reference

A helper class that begins a scoped compute pipeline recording. More...

#include <CeresEngine/RenderAPI/GPUComputePipeline.hpp>

Public Member Functions

 Scope (GPUCommandBuffer &commandBuffer, GPUComputePipeline &computePipeline)
 Creates a new scope and calls begin() on the pipeline.
 
 Scope (const GPUCommandBufferPtr &commandBuffer, GPUComputePipeline &computePipeline)
 Creates a new scope and calls begin() on the pipeline.
 
 Scope (GPUCommandBuffer &commandBuffer, const GPUComputePipelinePtr &computePipeline)
 Creates a new scope and calls begin() on the pipeline.
 
 Scope (const GPUCommandBufferPtr &commandBuffer, const GPUComputePipelinePtr &computePipeline)
 Creates a new scope and calls begin() on the pipeline.
 
 ~Scope () noexcept
 Unbound the pipeline from the command buffer.
 
void reset ()
 Unbound the pipeline from the command buffer.
 

Private Attributes

GPUCommandBuffermCommandBuffer = nullptr
 The command buffer to which commands are being recorded on.
 
GPUComputePipelinemComputePipeline = nullptr
 The compute pipeline to be bound within the scope.
 

Detailed Description

A helper class that begins a scoped compute pipeline recording.

Constructor & Destructor Documentation

◆ Scope() [1/4]

CeresEngine::GPUComputePipeline::Scope::Scope ( GPUCommandBuffer commandBuffer,
GPUComputePipeline computePipeline 
)
inlineexplicit

Creates a new scope and calls begin() on the pipeline.

Parameters
commandBufferThe command line to bind the pipeline to.
computePipelineThe pipeline to be bound.

◆ Scope() [2/4]

CeresEngine::GPUComputePipeline::Scope::Scope ( const GPUCommandBufferPtr commandBuffer,
GPUComputePipeline computePipeline 
)
inlineexplicit

Creates a new scope and calls begin() on the pipeline.

Parameters
commandBufferThe command line to bind the pipeline to.
computePipelineThe pipeline to be bound.

◆ Scope() [3/4]

CeresEngine::GPUComputePipeline::Scope::Scope ( GPUCommandBuffer commandBuffer,
const GPUComputePipelinePtr computePipeline 
)
inlineexplicit

Creates a new scope and calls begin() on the pipeline.

Parameters
commandBufferThe command line to bind the pipeline to.
computePipelineThe pipeline to be bound.

◆ Scope() [4/4]

CeresEngine::GPUComputePipeline::Scope::Scope ( const GPUCommandBufferPtr commandBuffer,
const GPUComputePipelinePtr computePipeline 
)
inlineexplicit

Creates a new scope and calls begin() on the pipeline.

Parameters
commandBufferThe command line to bind the pipeline to.
computePipelineThe pipeline to be bound.

◆ ~Scope()

CeresEngine::GPUComputePipeline::Scope::~Scope ( )
inlinenoexcept

Unbound the pipeline from the command buffer.

Member Function Documentation

◆ reset()

void CeresEngine::GPUComputePipeline::Scope::reset ( )
inline

Unbound the pipeline from the command buffer.

Member Data Documentation

◆ mCommandBuffer

GPUCommandBuffer* CeresEngine::GPUComputePipeline::Scope::mCommandBuffer = nullptr
private

The command buffer to which commands are being recorded on.

◆ mComputePipeline

GPUComputePipeline* CeresEngine::GPUComputePipeline::Scope::mComputePipeline = nullptr
private

The compute pipeline to be bound within the scope.


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