Skip to content
  • Iago Toral's avatar
    v3d: fix indirect BO allocation for uniforms · 18a09e78
    Iago Toral authored
    
    
    We were always ensuring a minimum size of 4 bytes for uniforms
    for the case where we don't have any, to account for hardware pre-fetching
    of the uniform stream, however, pre-fetching could also lead to to out
    of bounds reads when have read the last uniform in the stream, so we
    probably want to have the extra 4 bytes to prevent the kernel from
    observing invalid memory accesses when the uniform stream sits right at
    the end of a page.
    
    This seems to fix MMU exceptions reported with a Linux 5.4 kernel.
    
    Credit goes to Phil Elwell for identifying the problem and narrowing
    it down to memory accesses in the uniform stream.
    
    Reported-by: default avatarPhil Elwell <phil@raspberrypi.org>
    Tested-by: default avatarPhil Elwell <phil@raspberrypi.org>
    Reviewed-by: default avatarEric Anholt <eric@anholt.net>
    18a09e78