Skip to content
  • Chris Wilson's avatar
    i965: Sanity check ComponentAlpha status in prepare_composite · 995a4b2b
    Chris Wilson authored
    Fixes:
    
      Bug 28446 - Garbled Font with Mathematica 7
      https://bugs.freedesktop.org/show_bug.cgi?id=28446
    
    
    
    Rewriting the glyphs to render to the destination directly and removing
    the more expensive multiple invocations of CompositePicture per picture
    was a great performance boost -- except that it needs special handling
    in the backend in order to not fallback. Having done so for i915, I
    neglected to ensure the sanity checking in i965_prepare_composite() was
    sufficient. As it turns out, it was not and so we misrendered CA-glyphs
    when rendering directly to the destination. This causes us to fallback
    properly, but is a performance regression as we no longer try the 2-pass
    magic helper before resorting to s/w. At the moment, I'd rather live
    with the temporary regression and fix i965 to do the same magic as i915,
    as it critical to fixing the severe performance issues currently
    crippling i965, as I believe that this regression only affects the
    minority of applications (incorrect, as it turns out, as the glyphs are
    overlapping) rendering directly to the destination.
    
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    995a4b2b