Skip to content
  • Iago Toral's avatar
    v3dv: batch buffer to image copies with the texel buffer path if possible · ca44b3ed
    Iago Toral authored
    
    
    When copying multiple regions that have the same image subresource we are
    effectively copying various rects across the same layer range, so we can
    batch together all the rects to copy for each layer in a single job.
    
    This allows us to significantly reduce CPU overhead when recording the
    command, as we need to produce less jobs and allocate less descriptor
    sets. It also offers smaller gains in execution time due to the reduced
    job count.
    
    A stress test where we copy 10 subrects of an image in a loop 100 time,
    choosing regions that will involve the texel buffer path, we get these
    results:
    
                      | Recording Time | Execution Time |
            ----------|----------------|----------------|
            master    |     3.021s     |    0.112s      |
            ----------|----------------|----------------|
            patch     |     0.163s     |    0.080s      |
            ----------|----------------|----------------|
    
    Reviewed-by: default avatarAlejandro Piñeiro <apinheiro@igalia.com>
    Part-of: <mesa!7782>
    ca44b3ed