Skip to content
  • Timothy Arceri's avatar
    glsl: be much more aggressive when skipping shader compilation · 64b8c86d
    Timothy Arceri authored
    
    
    Currently we only add a cache key for a shader once it is linked.
    However games like Team Fortress 2 compile a whole bunch of shaders
    which are never actually linked. These compiled shaders can take
    up a bunch of memory.
    
    This patch changes things so that we add the key for the shader to
    the cache as soon as it is compiled. This means on a warm cache we
    can avoid the wasted memory from these shaders. Worst case scenario
    is we need to compile the shaders at link time but this can happen
    anyway if the shader has been evicted from the cache.
    
    Reduces memory use in Team Fortress 2 from 1.3GB -> 770MB on a
    warm cache from start up to the game menu.
    
    Acked-by: default avatarMarek Olšák <marek.olsak@amd.com>
    64b8c86d