|
Vulkan Schnee 0.0.1
High-performance rendering engine
|
#include <ComputePass.h>
Public Member Functions | |
| DispatcherComputePass (const std::string &name) | |
| uint32_t | getTargetThreadCount () const |
| Public Member Functions inherited from EngineCore::ComputePass | |
| virtual | ~ComputePass ()=default |
| ComputePass (const std::string &name) | |
| void | create (VkDevice device, const VkPipelineLayoutCreateInfo *pPipelineLayoutCreateInfo, const VkDescriptorSetLayoutCreateInfo *pDescriptorSetLayoutCreateInfo, std::string shaderName, std::optional< const PipelineSpecializationData * > pSpecializationData) |
| Creates a whole compute pass with a layout and everything. This is one of two steps needed to create a full compute shader. | |
| uint32_t | getThreadCount () const |
| Gets the amount of threads this compute shader is running on on the GPU. | |
| VkPipelineLayout & | getPipelineLayout () |
| Gets the layout of this compute pipeline. | |
| ComputePipeline * | getComputePipeline () |
| Getter for the raw compute pipeline. | |
| VkDescriptorSetLayout & | getDescriptorSetLayout () |
| Gets the descriptor set layout associated with this pipeline. | |
| VkPushConstantsInfo | createPushConstantsInfo (uint32_t size, const void *pValues) const |
| Used to create preconfigured push constants where you only pass in the size of the push constant and a pointer to the data. | |
| void | createDescriptorSet (VkDevice device, uint32_t frameInFlightIndex, VkDescriptorPool descriptorPool) |
| Creates a vulkan descriptor set resource for a frame in flight into a specified descriptor pool. | |
| DescriptorSetUpdater & | updateDescriptorSet (uint32_t frameInFlightIndex) |
| Creates a descriptor set updater which is used to batch update descriptor set resources. | |
| VkDescriptorSet | getDescriptorSet (uint32_t frameInFlightIndex) const |
| Getter for the descriptor set of this pipeline. | |
| void | bindDescriptorSets (VkCommandBuffer commandBuffer, uint32_t frameInFlightIndex) |
| Binds the descriptor set of a frame in flight. | |
| void | cleanup (VkDevice device) |
| Cleanup of owned resources using direct VkDevice handle. | |
| void | cleanup (ApplicationContext *context) |
| Cleanup of owned resources using ApplicationContext. | |
Protected Member Functions | |
| void | extractSpecializationData (std::optional< const PipelineSpecializationData * > pSpecializationData) override |
| Protected Member Functions inherited from EngineCore::ComputePass | |
| std::string | getName () const |
Protected Attributes | |
| uint32_t | targetThreadCount = 32 |
| Protected Attributes inherited from EngineCore::ComputePass | |
| uint32_t | threadCount = 32 |
Definition at line 182 of file ComputePass.h.
| EngineCore::DispatcherComputePass::DispatcherComputePass | ( | const std::string & | name | ) |
Definition at line 61 of file ComputePass.cpp.
References EngineCore::ComputePass::ComputePass(), and EngineCore::ComputePass::name.
|
overrideprotectedvirtual |
Reimplemented from EngineCore::ComputePass.
Definition at line 68 of file ComputePass.cpp.
References EngineCore::ComputePass::getName(), targetThreadCount, and EngineCore::ComputePass::threadCount.
|
nodiscard |
Definition at line 64 of file ComputePass.cpp.
References targetThreadCount.
|
protected |
Definition at line 191 of file ComputePass.h.
Referenced by extractSpecializationData(), and getTargetThreadCount().