diff options
author | Jason Ekstrand <jason.ekstrand@intel.com> | 2016-01-14 07:45:15 -0800 |
---|---|---|
committer | Jason Ekstrand <jason.ekstrand@intel.com> | 2016-01-14 07:45:15 -0800 |
commit | f6cae9929441da7c851372a2433b91be8d9ff317 (patch) | |
tree | d4315a8134954ddfdd82a6e141eda179054b4dff | |
parent | f99f84741228248b6e41470543ea2c2b29628dec (diff) | |
download | external_mesa3d-f6cae9929441da7c851372a2433b91be8d9ff317.zip external_mesa3d-f6cae9929441da7c851372a2433b91be8d9ff317.tar.gz external_mesa3d-f6cae9929441da7c851372a2433b91be8d9ff317.tar.bz2 |
vulkan-1.0.0: Split out command buffer inheritance info
-rw-r--r-- | include/vulkan/vulkan.h | 25 | ||||
-rw-r--r-- | src/vulkan/anv_cmd_buffer.c | 6 |
2 files changed, 19 insertions, 12 deletions
diff --git a/include/vulkan/vulkan.h b/include/vulkan/vulkan.h index a1b81b6..0aefccf 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 91e9737..8cf4dc7 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); } |