Skip to content
  • Felix Degrood's avatar
    iris: reduce redundant tile cache flushes · c85ea824
    Felix Degrood authored
    
    
    We are flushing tile cache more often than is necessary. In
    unified cache mode, tile cache flushing is expensive, evicting all
    depth/pixel data from the L3$. This is only need for a handful of
    cases, such as: making cpu or gpu changes globally visible
    (e.g. map), fast color clears, or slow depth clears. Tile cache
    flushing is a gen12+ feature.
    
    Remove blanket flushing of tile cache on all depth/RT flushes.
    Replace with selective tile cache flushing.
    
    Improves performance in several workloads:
    AztecRuins.ogl-high-offscreen-1440p 1%
    UnigineValley.ogl-g2                1%
    Dota 2 (replay Jul 2020).ogl-g2     1%
    Counter-Strike GO.ogl-g2            1%
    Manhattan.ogl-Off-19x10             2%
    CarChase.ogl-Off-19x10              1%
    Bioshock Infinite.ogl-g2            1%
    
    Reviewed-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
    Part-of: <!10217>
    c85ea824