vk/vulkan.h: Add command buffer levels
This commit is contained in:
parent
c84f2d3b8c
commit
e19d6be2a9
|
@ -818,6 +818,15 @@ typedef enum {
|
||||||
VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
|
VK_ATTACHMENT_STORE_OP_MAX_ENUM = 0x7FFFFFFF
|
||||||
} VkAttachmentStoreOp;
|
} 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 {
|
typedef enum {
|
||||||
VK_PIPELINE_BIND_POINT_COMPUTE = 0,
|
VK_PIPELINE_BIND_POINT_COMPUTE = 0,
|
||||||
VK_PIPELINE_BIND_POINT_GRAPHICS = 1,
|
VK_PIPELINE_BIND_POINT_GRAPHICS = 1,
|
||||||
|
@ -1029,6 +1038,7 @@ typedef enum {
|
||||||
VK_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH_BIT = 0x00000002,
|
VK_CMD_BUFFER_OPTIMIZE_PIPELINE_SWITCH_BIT = 0x00000002,
|
||||||
VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT = 0x00000004,
|
VK_CMD_BUFFER_OPTIMIZE_ONE_TIME_SUBMIT_BIT = 0x00000004,
|
||||||
VK_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH_BIT = 0x00000008,
|
VK_CMD_BUFFER_OPTIMIZE_DESCRIPTOR_SET_SWITCH_BIT = 0x00000008,
|
||||||
|
VK_CMD_BUFFER_OPTIMIZE_NO_SIMULTANEOUS_USE_BIT = 0x00000010,
|
||||||
} VkCmdBufferOptimizeFlagBits;
|
} VkCmdBufferOptimizeFlagBits;
|
||||||
typedef VkFlags VkCmdBufferOptimizeFlags;
|
typedef VkFlags VkCmdBufferOptimizeFlags;
|
||||||
|
|
||||||
|
@ -1680,6 +1690,7 @@ typedef struct {
|
||||||
VkStructureType sType;
|
VkStructureType sType;
|
||||||
const void* pNext;
|
const void* pNext;
|
||||||
uint32_t queueNodeIndex;
|
uint32_t queueNodeIndex;
|
||||||
|
VkCmdBufferLevel level;
|
||||||
VkCmdBufferCreateFlags flags;
|
VkCmdBufferCreateFlags flags;
|
||||||
} VkCmdBufferCreateInfo;
|
} VkCmdBufferCreateInfo;
|
||||||
|
|
||||||
|
|
|
@ -2155,6 +2155,8 @@ VkResult anv_CreateCommandBuffer(
|
||||||
struct anv_cmd_buffer *cmd_buffer;
|
struct anv_cmd_buffer *cmd_buffer;
|
||||||
VkResult result;
|
VkResult result;
|
||||||
|
|
||||||
|
assert(pCreateInfo->level == VK_CMD_BUFFER_LEVEL_PRIMARY);
|
||||||
|
|
||||||
cmd_buffer = anv_device_alloc(device, sizeof(*cmd_buffer), 8,
|
cmd_buffer = anv_device_alloc(device, sizeof(*cmd_buffer), 8,
|
||||||
VK_SYSTEM_ALLOC_TYPE_API_OBJECT);
|
VK_SYSTEM_ALLOC_TYPE_API_OBJECT);
|
||||||
if (cmd_buffer == NULL)
|
if (cmd_buffer == NULL)
|
||||||
|
|
Loading…
Reference in New Issue