anv: prepare the driver for delayed submissions

Graphics / Mesa 3D Graphics Library / Mesa - Lionel Landwerlin [] - 11 November 2019 21:46 UTC

Timeline semaphore introduce support for wait before signal behavior, which means that it is now allowed to call vkQueueSubmit() with wait semaphores not yet submitted for execution. Our kernel driver requires all of the wait primitives to be created before calling the execbuf ioctl. As a result, we must delay submissions in the userspace driver. This change store the necessary information to be able to delay a
VkSubmitInfo submission to the kernel driver.

v2: Fold count++ into array access (Jason) Move queue list to another patch (Jason)

v3: Document cleanup of temporary semaphores (Jason)

v4: Track semaphores of SYNC_FD type that needs updating after delayed submission

v5: Don't forget to update sync_fd in signaled semaphores after submission (Jason)

246261f0add anv: prepare the driver for delayed submissions
src/intel/vulkan/anv_batch_chain.c | 327 ++++++---------------
src/intel/vulkan/anv_private.h | 54 +++-
src/intel/vulkan/anv_queue.c | 574 ++++++++++++++++++++++++++++++-------
src/intel/vulkan/genX_query.c | 37 +--
4 files changed, 616 insertions(+), 376 deletions(-)


  • Share