Skip to content
  • Kenneth Graunke's avatar
    nir: Optimize out stores of undefs. · bc0062c5
    Kenneth Graunke authored
    
    
    There are a couple of cycle count changes in shader-db, but it's
    basically a wash.
    
    However, with the Broadwell scalar TCS backend enabled, many
    Shadow of Mordor shaders benefit from this patch.  Because we don't
    batch up output writes for TCS, vec4 outputs might not have all
    components defined.  Many output writes have a value of undef,
    which is useless.
    
    With scalar TCS, stats for tessellation shaders on Broadwell:
    
    total instructions in shared programs: 1283000 -> 1280444 (-0.20%)
    instructions in affected programs: 34302 -> 31746 (-7.45%)
    helped: 71
    HURT: 0
    
    total cycles in shared programs: 10798768 -> 10780682 (-0.17%)
    cycles in affected programs: 158004 -> 139918 (-11.45%)
    helped: 71
    HURT: 0
    
    Signed-off-by: Kenneth Graunke's avatarKenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: default avatarMatt Turner <mattst88@gmail.com>
    bc0062c5