vOOlkan
An object oriented approach to Vulkan
CommandBufferPool.h
Go to the documentation of this file.
1#ifndef VULKAN_COMMANDBUFFERPOOL
2#define VULKAN_COMMANDBUFFERPOOL
3
4#include <vulkan/vulkan.h>
5
6#include "QueueFamily.h"
7
8
9namespace Vulkan { class CommandBufferPool; class LogicalDevice; }
10
15public:
16
23 CommandBufferPool(const LogicalDevice& virtualGpu, QueueFamily queueFamily = QueueFamily::GRAPHICS);
24
29
31
32 const VkCommandPool& operator+() const;
33
34private:
35 VkCommandPool commandBufferPool;
36 const LogicalDevice& virtualGpu;
37};
38
39#endif
A CommandBufferPool is an object which is used to allocate CommandBuffers.
Definition: CommandBufferPool.h:14
~CommandBufferPool()
Definition: CommandBufferPool.cpp:24
CommandBufferPool(CommandBufferPool &&)=default
CommandBufferPool(const LogicalDevice &virtualGpu, QueueFamily queueFamily=QueueFamily::GRAPHICS)
Creates a command buffer pool for the specified queue family.
Definition: CommandBufferPool.cpp:10
CommandBufferPool & operator=(const CommandBufferPool &)=delete
const VkCommandPool & operator+() const
Definition: CommandBufferPool.cpp:32
CommandBufferPool(const CommandBufferPool &)=delete
CommandBufferPool & operator=(CommandBufferPool &&)=delete
A logical device is an abstraction of the physical GPU which we can mainly use to send commands.
Definition: LogicalDevice.h:15
Types of queue families.
Definition: Animations.h:17
QueueFamily
Definition: QueueFamily.h:8