/***
*xvkBuffer作为参数比写为返回值的好处是:
*1,xvkBuffer可以是堆变量或栈变量,若写为返回值则只能是堆上申请,因为必须保证它的永久性
*2,xvkBuffer或作为栈变量返回显然是不行的,因为它不持久
*/
void XVulkan::CreateBuffer(VkBufferUsageFlagBits usage, UINT size, OUT XVkBuffer& xvkBuffer)
{
VkBufferCreateInfo info = {};
info.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
info.usage = usage;
info.size = size;
info.sharingMode = VK_SHARING_MODE_EXCLUSIVE;
auto ret = vkCreateBuffer(vkDevice, &info, NULL, &xvkBuffer.info.buffer);
CheckResult(ret);
}