abbstraction class around the vulkan commandbuffer and pool to introduce increased workflow safety and usability and to decrease bugs. all a VkCommandBuffer has been changed out by virtualCmdBuffer type.
More...
#include <vulkanCmdPool.h>
abbstraction class around the vulkan commandbuffer and pool to introduce increased workflow safety and usability and to decrease bugs. all a VkCommandBuffer has been changed out by virtualCmdBuffer type.
◆ vulkanCmdPool()
| luna::vulkan::vulkanCmdPool::vulkanCmdPool |
( |
const vulkanCmdPoolSpec & |
commandBufferSPec | ) |
|
◆ ~vulkanCmdPool()
| luna::vulkan::vulkanCmdPool::~vulkanCmdPool |
( |
| ) |
|
|
virtual |
commandPool destructor, does nothing at the moment
◆ begin()
| VkResult luna::vulkan::vulkanCmdPool::begin |
( |
virtualCmdBuffer |
commandBuffer, |
|
|
const VkCommandBufferUsageFlags & |
usageFlags |
|
) |
| |
starts recording a commandBuffer.
- Parameters
-
| virtualCommandBuffer | commandBuffer handle. |
| const | VkCommandBufferUsageFlags& usageFlags |
◆ createNewBuffer()
| VkResult luna::vulkan::vulkanCmdPool::createNewBuffer |
( |
virtualCmdBuffer * |
commandBuffer, |
|
|
const uint32_t & |
commandBufferCount, |
|
|
const VkCommandBufferLevel & |
commandBufferLevel |
|
) |
| |
createNewBuffer creates a proteceted commandBuffer that is bound to the pool it is created with.
- Parameters
-
| virtualCmdBuffer* | a command buffer array pointer or std::vector pointer. |
| const | uint32_t& commandBufferCount number of commandBuffers to be created. |
| const | VkCommandBufferLevel& commandBufferLevel specifies the commandBuffer type. |
◆ end()
stops recording the commandBuffer.
- Parameters
-
| virtualCommandBuffer | commandBuffer handle. |
◆ flush()
| VkResult luna::vulkan::vulkanCmdPool::flush |
( |
const VkQueue & |
queue, |
|
|
const uint64_t & |
submitCount, |
|
|
const commandPoolSubmitInfo * |
pCommandPoolSubmitInfo, |
|
|
const VkFence & |
waitFence |
|
) |
| |
flush executes all flushed/submitted commandBuffers.
- Parameters
-
| VkQueue | queue |
| submiCount | the amount of commandPoolSubmitInfos |
| const | commandPoolSubmitInfo* pCommandPoolSubmitInfo |
◆ freeCommandBuffer()
| void luna::vulkan::vulkanCmdPool::freeCommandBuffer |
( |
virtualCmdBuffer * |
pCommandBuffers, |
|
|
uint32_t |
count |
|
) |
| |
frees commandbuffers to be able to rerecord them.
- Parameters
-
| pCommandBuffers | a command buffer array pointer or std::vector pointer. |
| count | |
◆ operator=()
| VkCommandBuffer luna::vulkan::vulkanCmdPool::operator= |
( |
const virtualCmdBuffer |
commandBuffer | ) |
|
|
inline |
◆ resetCommandBuffer()
| void luna::vulkan::vulkanCmdPool::resetCommandBuffer |
( |
const virtualCmdBuffer & |
commandBuffer | ) |
|
◆ vulkanCmdPool::operator[]()
| VkCommandBuffer luna::vulkan::vulkanCmdPool::vulkanCmdPool::operator[] |
( |
const virtualCmdBuffer |
commandBuffer | ) |
|
◆ commandPool
| VkCommandPool luna::vulkan::vulkanCmdPool::commandPool |
|
private |
◆ sCommandPoolSpec
◆ virtualBuffers
| std::unordered_map<virtualCmdBuffer, std::pair<VkCommandBuffer, VkCommandBufferUsageFlags> > luna::vulkan::vulkanCmdPool::virtualBuffers |
|
private |
The documentation for this class was generated from the following files:
- C:/Users/robbe/source/repos/lolrobbe2/luna/luna/src/core/vulkan/device/vulkanCmdPool.h
- C:/Users/robbe/source/repos/lolrobbe2/luna/luna/src/core/vulkan/device/vulkanCmdPool.cpp