vk: Submit all cmd buffers passed to vkQueueSubmit

This commit is contained in:
Kristian Høgsberg
2015-05-12 14:38:12 -07:00
parent 9905481552
commit cb986ef597

View File

@@ -567,23 +567,25 @@ VkResult VKAPI vkQueueSubmit(
{ {
struct anv_queue *queue = (struct anv_queue *) _queue; struct anv_queue *queue = (struct anv_queue *) _queue;
struct anv_device *device = queue->device; struct anv_device *device = queue->device;
struct anv_cmd_buffer *cmd_buffer = (struct anv_cmd_buffer *) pCmdBuffers[0];
int ret; int ret;
assert(cmdBufferCount == 1); for (uint32_t i = 0; i < cmdBufferCount; i++) {
struct anv_cmd_buffer *cmd_buffer =
(struct anv_cmd_buffer *) pCmdBuffers[i];
if (device->dump_aub) if (device->dump_aub)
anv_cmd_buffer_dump(cmd_buffer); anv_cmd_buffer_dump(cmd_buffer);
if (!device->no_hw) { if (!device->no_hw) {
ret = anv_gem_execbuffer(device, &cmd_buffer->execbuf); ret = anv_gem_execbuffer(device, &cmd_buffer->execbuf);
if (ret != 0) if (ret != 0)
goto fail; goto fail;
for (uint32_t i = 0; i < cmd_buffer->bo_count; i++) for (uint32_t i = 0; i < cmd_buffer->bo_count; i++)
cmd_buffer->exec2_bos[i]->offset = cmd_buffer->exec2_objects[i].offset; cmd_buffer->exec2_bos[i]->offset = cmd_buffer->exec2_objects[i].offset;
} else { } else {
*(uint32_t *)queue->completed_serial.map = cmd_buffer->serial; *(uint32_t *)queue->completed_serial.map = cmd_buffer->serial;
}
} }
return VK_SUCCESS; return VK_SUCCESS;