Skip to content
  • Zan Dobersek's avatar
    freedreno/fdl: avoid overflow in layout size computations · 1e271385
    Zan Dobersek authored and Marge Bot's avatar Marge Bot committed
    
    
    When computing layout for large extents and array size, the computations
    can overflow the 32-bit variables holding these values. This can end up
    underreporting memory requirements for a given resource, making the
    application think that such a resource is allocatable.
    
    The size-holding variables in the fdl_layout struct have their type
    upgraded to uint64_t, as does the total size variable in tu_image. This
    avoids problems in corner-case tests in the Vulkan CTS, but this code
    should be improved further to avoid overflows and narrowing conversions.
    
    Fixes a quartet of tests under
    dEQP-VK.pipeline.monolithic.render_to_image.core.2d_array.huge.width_height_layers.
    
    Signed-off-by: default avatarZan Dobersek <zdobersek@igalia.com>
    Part-of: <!28050>
    1e271385