Base class for compute shaders.
More...
#include <foray_computestage.hpp>
Base class for compute shaders.
Features
- Pipeline building
- Binding and Dispatch
Inheriting
◆ ApiBeforeDispatch()
virtual void foray::stages::ComputeStageBase::ApiBeforeDispatch |
( |
VkCommandBuffer |
cmdBuffer, |
|
|
base::FrameRenderInfo & |
renderInfo, |
|
|
glm::uvec3 & |
groupSize |
|
) |
| |
|
inlineprotectedvirtual |
Push constants and configure the Group size.
- Parameters
-
groupSize | Compute workgroup counts |
◆ ApiBeforeFrame()
virtual void foray::stages::ComputeStageBase::ApiBeforeFrame |
( |
VkCommandBuffer |
cmdBuffer, |
|
|
base::FrameRenderInfo & |
renderInfo |
|
) |
| |
|
inlineprotectedvirtual |
Prepare resources used in the compute shader.
◆ ApiCreateDescriptorSet()
virtual void foray::stages::ComputeStageBase::ApiCreateDescriptorSet |
( |
| ) |
|
|
inlineprotectedvirtual |
Create the descriptor set.
◆ ApiCreatePipelineLayout()
virtual void foray::stages::ComputeStageBase::ApiCreatePipelineLayout |
( |
| ) |
|
|
inlineprotectedvirtual |
Configure and create the pipelinelayout.
◆ ApiInitShader()
virtual void foray::stages::ComputeStageBase::ApiInitShader |
( |
| ) |
|
|
inlineprotectedvirtual |
Load a shader into mShader module.
◆ CreatePipeline()
virtual void foray::stages::ComputeStageBase::CreatePipeline |
( |
| ) |
|
|
protectedvirtual |
◆ Destroy()
virtual void foray::stages::ComputeStageBase::Destroy |
( |
| ) |
|
|
overridevirtual |
◆ Init()
void foray::stages::ComputeStageBase::Init |
( |
core::Context * |
context | ) |
|
◆ RecordFrame()
virtual void foray::stages::ComputeStageBase::RecordFrame |
( |
VkCommandBuffer |
cmdBuffer, |
|
|
base::FrameRenderInfo & |
renderInfo |
|
) |
| |
|
overridevirtual |
◆ ReloadShaders()
virtual void foray::stages::ComputeStageBase::ReloadShaders |
( |
| ) |
|
|
overrideprotectedvirtual |
Override this to reload all shaders and rebuild pipelines after a registered shader has been recompiled.
Reimplemented from foray::stages::RenderStage.
◆ mDescriptorSet
◆ mPipeline
VkPipeline foray::stages::ComputeStageBase::mPipeline = nullptr |
|
protected |
◆ mPipelineLayout
◆ mShader
The documentation for this class was generated from the following file: