rpcsx/rpcs3/Emu/RSX/VK/vkutils/command_pool.cpp
2021-01-05 10:49:03 +03:00

36 lines
756 B
C++

#include "command_pool.h"
#include "render_device.h"
#include "shared.h"
namespace vk
{
void command_pool::create(vk::render_device& dev)
{
owner = &dev;
VkCommandPoolCreateInfo infos = {};
infos.flags = VK_COMMAND_POOL_CREATE_TRANSIENT_BIT | VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT;
infos.sType = VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO;
CHECK_RESULT(vkCreateCommandPool(dev, &infos, nullptr, &pool));
}
void command_pool::destroy()
{
if (!pool)
return;
vkDestroyCommandPool((*owner), pool, nullptr);
pool = nullptr;
}
vk::render_device& command_pool::get_owner()
{
return (*owner);
}
command_pool::operator VkCommandPool()
{
return pool;
}
}