• Matthew Brost's avatar
    drm/xe: Allow num_batch_buffer / num_binds == 0 in IOCTLs · eb9702ad
    Matthew Brost authored
    The idea being out-syncs can signal indicating all previous operations
    on the bind queue are complete. An example use case of this would be
    support for implementing vkQueueWaitIdle easily.
    
    All in-syncs are waited on before signaling out-syncs. This is
    implemented by forming a composite software fence of in-syncs and
    installing this fence in the out-syncs and exec queue last fence slot.
    
    The last fence must be added as a dependency for jobs on user exec
    queues as it is possible for the last fence to be a composite software
    fence (unordered, ioctl with zero bb or binds) rather than hardware
    fence (ordered, previous job on queue).
    
    Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
    Signed-off-by: default avatarMatthew Brost <matthew.brost@intel.com>
    Reviewed-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
    Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
    eb9702ad
xe_sync.c 7.95 KB