ODROID-U3 xorg-server debian package fork :
[deb_xorg-server.git] / debian / patches / 06_Revert-fb-reorder-Bresenham-error-correction-to-avoi.diff
CommitLineData
7217e0ca
ML
1From 10aaa5d2ffa62df99f03c857dc78e6ff2b33c183 Mon Sep 17 00:00:00 2001
2From: Julien Cristau <jcristau@debian.org>
3Date: Sun, 30 Sep 2012 12:02:11 +0200
4Subject: [PATCH] Revert "fb: reorder Bresenham error correction to avoid
5 overshoot."
6
7This reverts commit 3e62f48edf47a59d923ac58b6d4262b02456a556.
8
9Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=54168
10Debian: http://buss.debian.org/688908
11
12Signed-off-by: Julien Cristau <jcristau@debian.org>
13---
14 fb/fbseg.c | 18 +++++++++---------
15 1 file changed, 9 insertions(+), 9 deletions(-)
16
7217e0ca
ML
17--- a/fb/fbseg.c
18+++ b/fb/fbseg.c
19@@ -65,12 +65,6 @@ fbBresSolid(DrawablePtr pDrawable,
20 if (axis == X_AXIS) {
21 bits = 0;
22 while (len--) {
23- if (e >= 0) {
24- WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits));
25- bits = 0;
26- dst += dstStride;
27- e += e3;
28- }
29 bits |= mask;
30 mask = fbBresShiftMask(mask, signdx, dstBpp);
31 if (!mask) {
32@@ -80,12 +74,21 @@ fbBresSolid(DrawablePtr pDrawable,
33 mask = mask0;
34 }
35 e += e1;
36+ if (e >= 0) {
37+ WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
38+ bits = 0;
39+ dst += dstStride;
40+ e += e3;
41+ }
42 }
43 if (bits)
44 WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
45 }
46 else {
47 while (len--) {
48+ WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
49+ dst += dstStride;
50+ e += e1;
51 if (e >= 0) {
52 e += e3;
53 mask = fbBresShiftMask(mask, signdx, dstBpp);
54@@ -94,9 +97,6 @@ fbBresSolid(DrawablePtr pDrawable,
55 mask = mask0;
56 }
57 }
58- WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
59- dst += dstStride;
60- e += e1;
61 }
62 }
63