Comment 84 for bug 263661

Revision history for this message
In , Zack Weinberg (zackw) wrote :

Comment on attachment 497112
Use EXTEND_PAD on X

Tested <http://hg.mozilla.org/mozilla-central/rev/5d9e1a56d922> on my current Linux box: X server vendor release code 10707000, Nouveau driver 0.0.16, NV94 video chipset.

The test case in attachment 351955 shows display artifacts:

* with an unmodified tree;
* with joe's patches for this bug and bug 566283;
* and even with PreparePatternForUntiledDrawing chainsawed down to just

{
    aPattern->SetExtend(gfxPattern::EXTEND_PAD);
    aPattern->SetFilter(aDefaultFilter);
}

The artifacts are not the same as what I get with 3.6 on the same hardware. 3.6 shows thin green lines, all the same color throughout, some of which have solid black dots at their right edges; at some zoom levels there are also solid black lines underneath the green line (with a white pixel or two in between).

mozilla-central never produces the solid black dots at the right edges; however, the green lines are not all the same color throughout, they are the proper color in the middle, and fade to neutral gray at both edges. Some of the lines get black lines underneath them. And they all appear to be slightly fatter than they were in 3.6. This behavior is more or less the same regardless of whether any patches are applied (the patch seems to change subtleties of the artifacts).

It is plausible to me that this is a bug in nouveau, and honestly I think the correct course of action at this point is to nuke the entire mess, use EXTEND_PAD unconditionally, and then work with the Cairo and X driver folks to figure out what's still wrong and fix it properly. Nonetheless I cannot say that this patch fixes the original problem.