From 9eca84e052b9c5080c54b083fc637428b53338ec Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Wed, 2 Nov 2016 10:33:54 -0700 Subject: anv: Add a cmd_buffer_execbuf helper This puts the actual execbuf2 call in anv_batch_chain.c along with the other relocation stuff. Signed-off-by: Jason Ekstrand Reviewed-by: Kristian H. Kristensen Cc: "13.0" (cherry picked from commit db9f4b2a2bbf1aff3c6c878735495fc7accbb11e) --- src/intel/vulkan/anv_batch_chain.c | 8 ++++++++ src/intel/vulkan/anv_device.c | 3 +-- src/intel/vulkan/anv_private.h | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) (limited to 'src/intel') diff --git a/src/intel/vulkan/anv_batch_chain.c b/src/intel/vulkan/anv_batch_chain.c index dfa9abf..529fe7e 100644 --- a/src/intel/vulkan/anv_batch_chain.c +++ b/src/intel/vulkan/anv_batch_chain.c @@ -1131,3 +1131,11 @@ anv_cmd_buffer_prepare_execbuf(struct anv_cmd_buffer *cmd_buffer) if (!cmd_buffer->execbuf2.need_reloc) cmd_buffer->execbuf2.execbuf.flags |= I915_EXEC_NO_RELOC; } + +VkResult +anv_cmd_buffer_execbuf(struct anv_device *device, + struct anv_cmd_buffer *cmd_buffer) +{ + return anv_device_execbuf(device, &cmd_buffer->execbuf2.execbuf, + cmd_buffer->execbuf2.bos); +} diff --git a/src/intel/vulkan/anv_device.c b/src/intel/vulkan/anv_device.c index 6d8de90..27402ce 100644 --- a/src/intel/vulkan/anv_device.c +++ b/src/intel/vulkan/anv_device.c @@ -1103,8 +1103,7 @@ VkResult anv_QueueSubmit( pSubmits[i].pCommandBuffers[j]); assert(cmd_buffer->level == VK_COMMAND_BUFFER_LEVEL_PRIMARY); - result = anv_device_execbuf(device, &cmd_buffer->execbuf2.execbuf, - cmd_buffer->execbuf2.bos); + result = anv_cmd_buffer_execbuf(device, cmd_buffer); if (result != VK_SUCCESS) return result; } diff --git a/src/intel/vulkan/anv_private.h b/src/intel/vulkan/anv_private.h index 9947b8c..09345c8 100644 --- a/src/intel/vulkan/anv_private.h +++ b/src/intel/vulkan/anv_private.h @@ -1197,6 +1197,8 @@ void anv_cmd_buffer_end_batch_buffer(struct anv_cmd_buffer *cmd_buffer); void anv_cmd_buffer_add_secondary(struct anv_cmd_buffer *primary, struct anv_cmd_buffer *secondary); void anv_cmd_buffer_prepare_execbuf(struct anv_cmd_buffer *cmd_buffer); +VkResult anv_cmd_buffer_execbuf(struct anv_device *device, + struct anv_cmd_buffer *cmd_buffer); VkResult anv_cmd_buffer_reset(struct anv_cmd_buffer *cmd_buffer); -- cgit v1.1