Skip to content
  • Marcin Ślusarz's avatar
    iris: disable dynamic VAO fastpath on GFX version 9 · 1df3a00d
    Marcin Ślusarz authored
    Enabling this fast path, while making CPU side simpler
    (and thus reducing driver's CPU overhead), forces us to
    generate multiple VERTEX_BUFFER_STATE packets pointing to
    the same buffer, but with slightly shifted BufferStartingAddress.
    This is fine on GFX version >= 11 and < 8, but on version
    8 and 9, thanks to internal details of the VF cache, vertex
    data from each VERTEX_BUFFER_STATE is cached separately
    and this results in a lot of cache misses.
    
    Disabling this fast path restores previous performance levels.
    
    On my SKL GT2 machine this improves performance in:
    - GLB27 Egypt offscreen by 37%
    - GLB27 TRex offscreen by 22%
    - gfxbench5 Manhattan offscreen by 1.75%
    - gfxbench5 Manhattan31 offscreen by 1.9%
    - gfxbench5 Aztec Ruins high by 2.3%
    
    In Intel performance CI on GFX version 9 it improves performance in:
    - gfxbench5 Manhattan offscreen by 1.65%
    - gfxbench5 Aztec Ruins normal offscreen by 1.33%
    
    Closes: mesa/mesa#3277
    Fixes: 42842306
    
     ("mesa,st/mesa: add a fast path for non-static VAOs")
    Signed-off-by: default avatarMarcin Ślusarz <marcin.slusarz@intel.com>
    Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: default avatarJason Ekstrand <jason@jlekstrand.net>
    Part-of: <mesa/mesa!9857>
    1df3a00d