Skip to content
  • Chris Wilson's avatar
    image: Enable inplace compositing with opacities for general routines · c986a731
    Chris Wilson authored
    
    
    On a SNB i5-2500:
    
    Speedups
    ========
             firefox-chalkboard  34284.16 -> 19637.40:  1.74x speedup
             swfdec-giant-steps    778.35 ->   665.37:  1.17x speedup
                      ocitysmap    485.64 ->   431.94:  1.12x speedup
    
    Slowdowns
    =========
               firefox-fishbowl  46878.98 -> 54407.14:  1.16x slowdown
    
    That slow down is due to overhead of the increased number of calls to
    pixman_image_composite32() (pixman_transform_point for analyzing the
    source extents in particular) outweighing any advantage gained by
    performing the rasterisation in a single pass and eliding gaps. The
    solution that has been floated in the past is for an interface into
    pixman to only perform the analysis once and then to return a kernel to
    use for all spans.
    
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    c986a731