vkCreateCommandPool
函数原型
VkResult vkCreateCommandPool(
VkDevice device,
const VkCommandPoolCreateInfo* pCreateInfo,
const VkAllocationCallbacks* pAllocator,
VkCommandPool* pCommandPool);
描述
创建命令缓冲池。
参数
device
: 用于创建命令缓冲池的逻辑设备。pCreateInfo
:VkCommandPoolCreateInfo
结构体指针,包含创建命令缓冲池的信息。pAllocator
:host memory
分配器。pCommandPool
: 创建返回的命令缓冲池句柄。
补充
VkCommandPoolCreateInfo
结构体定义:
typedef struct VkCommandPoolCreateInfo {
VkStructureType sType;
const void* pNext;
VkCommandPoolCreateFlags flags; //设置命令缓冲的分配行为
uint32_t queueFamilyIndex; //队列族索引
} VkCommandPoolCreateInfo;
VkCommandPoolCreateFlags
枚举定义:
typedef enum VkCommandPoolCreateFlagBits {
VK_COMMAND_POOL_CREATE_TRANSIENT_BIT = 0x00000001, //在较短时间内会重复重置或释放
VK_COMMAND_POOL_CREATE_RESET_COMMAND_BUFFER_BIT = 0x00000002, //命令缓冲允许使用vkResetCommandBuffer或vkBeginCommandBuffer进行重置,否则不允许使用
VK_COMMAND_POOL_CREATE_PROTECTED_BIT = 0x00000004, //受保护的命令缓冲
} VkCommandPoolCreateFlagBits;