Bug 12520

Summary: EXA greedy mode corruption
Product: xorg Reporter: Matthieu CASTET <castet.matthieu>
Component: Server/Acceleration/EXAAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium CC: nouveau
Version: unspecified   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 12560    
Attachments:
Description Flags
EXA corruption
none
xorg log
none
Probable fix, against server-1.4-branch none

Description Matthieu CASTET 2007-09-22 05:57:30 UTC
Hi,

when using EXA greedy mode, there corruption on mozilla (see attached screenshot).

This appeared with xserver-xorg-core 2:1.4-2 from debian unstable (http://packages.debian.org/changelogs/pool/main/x/xorg-server/xorg-server_1.4-2/changelog)

Also there some instability (random X crash).
Comment 1 Matthieu CASTET 2007-09-22 05:58:18 UTC
Created attachment 11682 [details]
EXA corruption
Comment 2 Matthieu CASTET 2007-09-22 06:00:37 UTC
Created attachment 11683 [details]
xorg log
Comment 3 Tilman Sauerbeck 2007-09-22 08:40:18 UTC
This bug isn't nouveau specific. It's either a bug in EXA or in pixman. I'm not sure which, so I'll assign it to EXA for now :p
Comment 4 Alan Swanson 2007-09-23 08:49:02 UTC
The corruption also appears when using EXA "greedy" with Gnome Nautilus. Any redraws for background damage after moving or closing a window, the damage is always drawn using top left (0,0) of the background. Switching to EXA "always" fixes problem.

This is on a R200 running xorg-server 1.4 release and xf86-video-ati current GIT so definitely not a Nouveau issue. Note bug still assigned to Nouveau Project project though.

Comment 5 Michel Dänzer 2007-09-24 03:40:34 UTC
The fallback case in exaFillRegionSolid needs to be fixed to use something else than fbFillRegionTiled, so the GC is taken into account properly. Any takers?
Comment 6 Michel Dänzer 2007-09-26 00:48:27 UTC
Created attachment 11757 [details] [review]
Probable fix, against server-1.4-branch

Does this patch fix it?
Comment 7 Tilman Sauerbeck 2007-09-26 08:10:44 UTC
I tested the master branch by adding
  pPatOrg->x != 0 || pPatOrg->y != 0
to the condition which fixes the issues for me.
Comment 8 Michel Dänzer 2007-09-27 04:42:52 UTC
Fixed on the master and no-pci-rework branches. Leaving this open though and making it a blocker for 1.4.1 so it'll hopefully end up there.
Comment 9 Matthieu CASTET 2007-09-30 07:49:26 UTC
Debian xorg-server (2:1.4-3) works fine. It got the fix :
  * Add 08_exa_fix_exaFillRegionTiled_fallback.diff by Michel Dänzer to punt
    on fallback case not handled correctly in exaFillRegionTiled (backported
    from master's c7d6d1f5); closes: #444203.
Comment 10 Daniel Stone 2007-11-17 13:41:18 UTC
fixed in 1.4 branch

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.