View | Details | Raw Unified | Return to bug 28263
Collapse All | Expand All

(-)a/fb/fbseg.c (-10 / +9 lines)
Lines 65-76 fbBresSolid(DrawablePtr pDrawable, Link Here
65
    if (axis == X_AXIS) {
65
    if (axis == X_AXIS) {
66
        bits = 0;
66
        bits = 0;
67
        while (len--) {
67
        while (len--) {
68
            if (e >= 0) {
69
                WRITE(dst, FbDoMaskRRop (READ(dst), and, xor, bits));
70
                bits = 0;
71
                dst += dstStride;
72
                e += e3;
73
            }
74
            bits |= mask;
68
            bits |= mask;
75
            mask = fbBresShiftMask(mask, signdx, dstBpp);
69
            mask = fbBresShiftMask(mask, signdx, dstBpp);
76
            if (!mask) {
70
            if (!mask) {
Lines 80-91 fbBresSolid(DrawablePtr pDrawable, Link Here
80
                mask = mask0;
74
                mask = mask0;
81
            }
75
            }
82
            e += e1;
76
            e += e1;
77
            if (e >= 0) {
78
                WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
79
                bits = 0;
80
                dst += dstStride;
81
                e += e3;
82
            }
83
        }
83
        }
84
        if (bits)
84
        if (bits)
85
            WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
85
            WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, bits));
86
    }
86
    }
87
    else {
87
    else {
88
        while (len--) {
88
        while (len--) {
89
            WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
90
            dst += dstStride;
91
            e += e1;
89
            if (e >= 0) {
92
            if (e >= 0) {
90
                e += e3;
93
                e += e3;
91
                mask = fbBresShiftMask(mask, signdx, dstBpp);
94
                mask = fbBresShiftMask(mask, signdx, dstBpp);
Lines 94-102 fbBresSolid(DrawablePtr pDrawable, Link Here
94
                    mask = mask0;
97
                    mask = mask0;
95
                }
98
                }
96
            }
99
            }
97
            WRITE(dst, FbDoMaskRRop(READ(dst), and, xor, mask));
98
            dst += dstStride;
99
            e += e1;
100
        }
100
        }
101
    }
101
    }
102
102
103
- 

Return to bug 28263