1
0
Fork 0
Univerxel/src/client/render/vk/CommandPool.hpp

29 lines
667 B
C++

#pragma once
#include "forward.hpp"
#include <vector>
namespace render::vk {
class SwapChain;
class Pipeline;
class CommandPool {
public:
CommandPool(VkDevice, const std::vector<VkImageView>&, PipelineRef, const PhysicalDeviceInfo&, const renderOptions&);
~CommandPool();
void submitGraphics(uint32_t, VkQueue, VkSemaphore, VkSemaphore, VkFence);
void allocate(const std::vector<VkImageView>&, PipelineRef, VkExtent2D, const renderOptions&);
void free();
private:
VkDevice device;
std::vector<VkFramebuffer> framebuffers;
VkCommandPool graphicsPool;
std::vector<VkCommandBuffer> graphicsBuffers;
bool freed = true;
};
}