summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Ekstrand <jason.ekstrand@intel.com>2016-01-14 07:45:15 -0800
committerJason Ekstrand <jason.ekstrand@intel.com>2016-01-14 07:45:15 -0800
commitf6cae9929441da7c851372a2433b91be8d9ff317 (patch)
treed4315a8134954ddfdd82a6e141eda179054b4dff
parentf99f84741228248b6e41470543ea2c2b29628dec (diff)
vulkan-1.0.0: Split out command buffer inheritance info
-rw-r--r--include/vulkan/vulkan.h25
-rw-r--r--src/vulkan/anv_cmd_buffer.c6
2 files changed, 19 insertions, 12 deletions
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h
index a1b81b6a50f..0aefccf1d5c 100644
--- a/include/vulkan/vulkan.h
+++ b/include/vulkan/vulkan.h
@@ -187,13 +187,14 @@ typedef enum VkStructureType {
VK_STRUCTURE_TYPE_RENDER_PASS_CREATE_INFO = 38,
VK_STRUCTURE_TYPE_COMMAND_POOL_CREATE_INFO = 39,
VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO = 40,
- VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 41,
- VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 42,
- VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 43,
- VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 44,
- VK_STRUCTURE_TYPE_MEMORY_BARRIER = 45,
- VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 46,
- VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 47,
+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_INFO = 41,
+ VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO = 42,
+ VK_STRUCTURE_TYPE_RENDER_PASS_BEGIN_INFO = 43,
+ VK_STRUCTURE_TYPE_BUFFER_MEMORY_BARRIER = 44,
+ VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER = 45,
+ VK_STRUCTURE_TYPE_MEMORY_BARRIER = 46,
+ VK_STRUCTURE_TYPE_LOADER_INSTANCE_CREATE_INFO = 47,
+ VK_STRUCTURE_TYPE_LOADER_DEVICE_CREATE_INFO = 48,
VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR = 1000001000,
VK_STRUCTURE_TYPE_PRESENT_INFO_KHR = 1000001001,
VK_STRUCTURE_TYPE_DISPLAY_MODE_CREATE_INFO_KHR = 1000002000,
@@ -2034,16 +2035,22 @@ typedef struct VkCommandBufferAllocateInfo {
uint32_t commandBufferCount;
} VkCommandBufferAllocateInfo;
-typedef struct VkCommandBufferBeginInfo {
+typedef struct VkCommandBufferInheritanceInfo {
VkStructureType sType;
const void* pNext;
- VkCommandBufferUsageFlags flags;
VkRenderPass renderPass;
uint32_t subpass;
VkFramebuffer framebuffer;
VkBool32 occlusionQueryEnable;
VkQueryControlFlags queryFlags;
VkQueryPipelineStatisticFlags pipelineStatistics;
+} VkCommandBufferInheritanceInfo;
+
+typedef struct VkCommandBufferBeginInfo {
+ VkStructureType sType;
+ const void* pNext;
+ VkCommandBufferUsageFlags flags;
+ const VkCommandBufferInheritanceInfo* pInheritanceInfo;
} VkCommandBufferBeginInfo;
typedef struct VkBufferCopy {
diff --git a/src/vulkan/anv_cmd_buffer.c b/src/vulkan/anv_cmd_buffer.c
index 91e97372b2e..8cf4dc7202c 100644
--- a/src/vulkan/anv_cmd_buffer.c
+++ b/src/vulkan/anv_cmd_buffer.c
@@ -304,12 +304,12 @@ VkResult anv_BeginCommandBuffer(
if (cmd_buffer->usage_flags &
VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT) {
cmd_buffer->state.framebuffer =
- anv_framebuffer_from_handle(pBeginInfo->framebuffer);
+ anv_framebuffer_from_handle(pBeginInfo->pInheritanceInfo->framebuffer);
cmd_buffer->state.pass =
- anv_render_pass_from_handle(pBeginInfo->renderPass);
+ anv_render_pass_from_handle(pBeginInfo->pInheritanceInfo->renderPass);
struct anv_subpass *subpass =
- &cmd_buffer->state.pass->subpasses[pBeginInfo->subpass];
+ &cmd_buffer->state.pass->subpasses[pBeginInfo->pInheritanceInfo->subpass];
anv_cmd_buffer_begin_subpass(cmd_buffer, subpass);
}