anv: prepare the driver for delayed submissions
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) Signed-off-by:Lionel Landwerlin <lionel.g.landwerlin@intel.com> Reviewed-by:
Jason Ekstrand <jason@jlekstrand.net>
- src/intel/vulkan/anv_batch_chain.c 92 additions, 235 deletionssrc/intel/vulkan/anv_batch_chain.c
- src/intel/vulkan/anv_private.h 51 additions, 3 deletionssrc/intel/vulkan/anv_private.h
- src/intel/vulkan/anv_queue.c 465 additions, 109 deletionssrc/intel/vulkan/anv_queue.c
- src/intel/vulkan/genX_query.c 8 additions, 29 deletionssrc/intel/vulkan/genX_query.c