Skip to content
  • Iago Toral's avatar
    v3dv: add a buffer to image copy path using a texel buffer · ba69c36a
    Iago Toral authored
    
    
    This is much faster than the blit fallback (which requires to upload
    the linear buffer to a tiled image) and the CPU path.
    
    A simple stress test involving 100 buffer to image copies of a
    single layer image with 10 mipmap levels provides the following
    results:
    
    Path           | Recording Time | Execution Time |
    -------------------------------------------------|
    Texel Buffer   |     2.954s      |     0.137s    |
    -------------------------------------------------|
    Blit           |    10.732s      |     0.148s    |
    -------------------------------------------------|
    CPU            |     0.002s      |     1.453s    |
    -------------------------------------------------|
    
    So generally speaking, this texel buffer copy path is the fastest
    of the paths that can do partial copies, however, the CPU path might
    provide better results in cases where command buffer recording is
    important to overall performance. This is probably the reason why
    the CPU path seems to provide slightly better results for vkQuake2.
    
    Reviewed-by: default avatarAlejandro Piñeiro <apinheiro@igalia.com>
    Part-of: <!7651>
    ba69c36a