xf86-video-intel/src
Chris Wilson 995a4b2b1d i965: Sanity check ComponentAlpha status in prepare_composite
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: Chris Wilson <chris@chris-wilson.co.uk>
2010-06-14 12:14:30 +01:00
..
render_program Fix sampler indexes on i965 planar video. 2009-08-05 15:07:14 -07:00
scripts Review PLL spreadsheet and update register ranges. 2007-11-13 22:28:22 -08:00
xvmc xvmc: Build fix with -pedantic 2010-05-11 19:39:01 +01:00
Makefile.am Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
brw_defines.h Document and use 'legacy' border color mode 2008-10-06 13:22:08 -07:00
brw_structs.h Enable 2D composite on IGDNG 2009-06-30 11:12:12 +08:00
common.h Remove remaining REG_DUMPER build stuff. 2010-05-26 12:21:09 -07:00
drmmode_display.c Allocate rotate shadow buffers using the usual framebuffer allocator. 2010-06-07 11:18:09 -07:00
i810.h Revert "configure: make --disable-dri work even if the server supports DRI" 2009-11-05 16:02:02 -08:00
i810_accel.c Revert "configure: make --disable-dri work even if the server supports DRI" 2009-11-05 16:02:02 -08:00
i810_common.h Remove a handful of pointless comments 2009-04-28 13:27:53 -04:00
i810_cursor.c Remove a handful of pointless comments 2009-04-28 13:27:53 -04:00
i810_dga.c Use libc instead of deprecated libc wrappers for malloc/calloc/free. 2010-06-06 15:56:35 -07:00
i810_dri.c Use libc instead of deprecated libc wrappers for malloc/calloc/free. 2010-06-06 15:56:35 -07:00
i810_dri.h Remove a handful of pointless comments 2009-04-28 13:27:53 -04:00
i810_driver.c Use libc instead of deprecated libc wrappers for malloc/calloc/free. 2010-06-06 15:56:35 -07:00
i810_hwmc.c Use libc instead of deprecated libc wrappers for malloc/calloc/free. 2010-06-06 15:56:35 -07:00
i810_io.c Remove a handful of pointless comments 2009-04-28 13:27:53 -04:00
i810_memory.c Remove a handful of pointless comments 2009-04-28 13:27:53 -04:00
i810_reg.h More dumps for Arrandale LVDS 2009-09-21 15:28:09 +08:00
i810_ring.h Separate i810 and i830 ring macros out into separate files. 2008-03-12 16:12:28 -07:00
i810_video.c Use libc instead of deprecated libc wrappers for malloc/calloc/free. 2010-06-06 15:56:35 -07:00
i810_wmark.c Remove a handful of pointless comments 2009-04-28 13:27:53 -04:00
i830.h Compile fix for alternate list.h from xserver-1.9 2010-06-14 11:31:40 +01:00
i830_3d.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i830_accel.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i830_batchbuffer.c i830: Limit disabling acceleration following EIO to !i965 2010-06-10 23:02:34 +01:00
i830_batchbuffer.h Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i830_dri.c Use libc instead of deprecated libc wrappers for malloc/calloc/free. 2010-06-06 15:56:35 -07:00
i830_driver.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i830_hwmc.c Use libc instead of deprecated libc wrappers for malloc/calloc/free. 2010-06-06 15:56:35 -07:00
i830_hwmc.h XvMC: kill intel_xvmc_command 2010-04-08 11:22:23 +02:00
i830_memory.c Allocate a correctly sized framebuffer when tiling by using libdrm's support. 2010-06-07 11:15:28 -07:00
i830_reg.h Move to kernel coding style. 2009-10-06 17:10:31 -07:00
i830_render.c i965: Sanity check ComponentAlpha status in prepare_composite 2010-06-14 12:14:30 +01:00
i830_uxa.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i830_video.c i915: Fix typo from previous commit. 2010-06-07 15:31:47 +01:00
i830_video.h i965 Xv: fix chroma pitch 2010-04-08 17:21:18 +02:00
i915_3d.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i915_3d.h Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i915_reg.h i915: Move vertices into a vertex buffer object. 2010-05-24 09:36:23 +01:00
i915_render.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i915_video.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00
i965_render.c i965: Sanity check ComponentAlpha status in prepare_composite 2010-06-14 12:14:30 +01:00
i965_video.c Revert "xp:trapezoids" 2010-06-09 10:03:29 +01:00