diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-11-30 13:58:30 +0000 |
---|---|---|
committer | Owain G. Ainsworth <oga@openbsd.org> | 2010-03-01 18:45:27 +0000 |
commit | 01f48be880556fb6cb29685086d85ebf73ddad78 (patch) | |
tree | 774a000f5bd7e2b6a697c79859929f9cca0c3dd4 /src | |
parent | 31e0522619144319f2835e2644fa3060e46e6d45 (diff) |
i915: Disable centre-point sampling.
I still have no idea how this is triggering failures, but it is. So
revert until the problem is solved.
Should fix once again:
Bug 23803 [bisected i915] gnome characters disappear
http://bugs.freedesktop.org/show_bug.cgi?id=23803
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit cfcabc45140d19bfbfa4737c0a11cdbb042d11eb)
Signed-off-by: Owain G. Ainsworth <oga@openbsd.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/i915_render.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/src/i915_render.c b/src/i915_render.c index 93498734..b660af18 100644 --- a/src/i915_render.c +++ b/src/i915_render.c @@ -35,6 +35,8 @@ #include "i915_reg.h" #include "i915_3d.h" +#define PIXEL_CENTRE_SAMPLE 0 + struct formatinfo { int fmt; uint32_t card_fmt; @@ -168,7 +170,9 @@ static Bool i915_get_dest_format(PicturePtr dest_picture, uint32_t * dst_format) (int)dest_picture->format); return FALSE; } +#if PIXEL_CENTRE_SAMPLE *dst_format |= DSTORG_HORT_BIAS(0x8) | DSTORG_VERT_BIAS(0x8); +#endif return TRUE; } @@ -429,8 +433,13 @@ i915_prepare_composite(int op, PicturePtr source_picture, return FALSE; } - if (source_picture->filter == PictFilterNearest) + if (source_picture->filter == PictFilterNearest) { +#if PIXEL_CENTRE_SAMPLE intel->src_coord_adjust = 0.375; +#else + intel->dst_coord_adjust = -0.125; +#endif + } } if (mask != NULL) { @@ -441,8 +450,13 @@ i915_prepare_composite(int op, PicturePtr source_picture, return FALSE; } - if (mask_picture->filter == PictFilterNearest) - intel->mask_coord_adjust = 0.375; + if (mask_picture->filter == PictFilterNearest) { +#if PIXEL_CENTRE_SAMPLE + intel->mask_coord_adjust = 0.375; +#else + intel->dst_coord_adjust = -0.125; +#endif + } } } |