vk/vulkan.h: Add command buffer levels

This commit is contained in:
Jason Ekstrand 2015-07-08 10:53:32 -07:00
parent c84f2d3b8c
commit e19d6be2a9
2 changed files with 13 additions and 0 deletions

View File

@ -818,6 +818,15 @@ typedef enum {
VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
} VkAttachmentStoreOp;
typedef enum {
VK_CMD_BUFFER_LEVEL_PRIMARY = 0,
VK_CMD_BUFFER_LEVEL_SECONDARY = 1,
VK_CMD_BUFFER_LEVEL_BEGIN_RANGE = VK_CMD_BUFFER_LEVEL_PRIMARY,
VK_CMD_BUFFER_LEVEL_END_RANGE = VK_CMD_BUFFER_LEVEL_SECONDARY,
VK_CMD_BUFFER_LEVEL_NUM = (VK_CMD_BUFFER_LEVEL_SECONDARY - VK_CMD_BUFFER_LEVEL_PRIMARY + 1),
VK_CMD_BUFFER_LEVEL_MAX_ENUM = 0x7FFFFFFF
} VkCmdBufferLevel;
typedef enum {
VK_PIPELINE_BIND_POINT_COMPUTE = 0,
VK_PIPELINE_BIND_POINT_GRAPHICS = 1,
@ -1029,6 +1038,7 @@ typedef enum {
VK_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH_BIT = 0x00000002,
VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT = 0x00000004,
VK_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH_BIT = 0x00000008,
VK_CMD_BUFFER_OPTIMIZE_NO_SIMULTANEOUS_USE_BIT = 0x00000010,
} VkCmdBufferOptimizeFlagBits;
typedef VkFlags VkCmdBufferOptimizeFlags;
@ -1680,6 +1690,7 @@ typedef struct {
VkStructureType sType;
const void* pNext;
uint32_t queueNodeIndex;
VkCmdBufferLevel level;
VkCmdBufferCreateFlags flags;
} VkCmdBufferCreateInfo;

View File

@ -2155,6 +2155,8 @@ VkResult anv_CreateCommandBuffer(
struct anv_cmd_buffer *cmd_buffer;
VkResult result;
assert(pCreateInfo->level == VK_CMD_BUFFER_LEVEL_PRIMARY);
cmd_buffer = anv_device_alloc(device, sizeof(*cmd_buffer), 8,
VK_SYSTEM_ALLOC_TYPE_API_OBJECT);
if (cmd_buffer == NULL)