[Nouveau] [Bug 25806] New: NV40 vertex corruption (kernel BO deletion too early?)
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Sun Dec 27 13:45:10 PST 2009
http://bugs.freedesktop.org/show_bug.cgi?id=25806
Summary: NV40 vertex corruption (kernel BO deletion too early?)
Product: Mesa
Version: git
Platform: Other
OS/Version: All
Status: NEW
Severity: normal
Priority: medium
Component: Drivers/DRI/nouveau
AssignedTo: nouveau at lists.freedesktop.org
ReportedBy: luca.barbieri at gmail.com
On my G71 system, several programs show vertex corruption issues. In
particular, vertices tend to be corrupted or randomly go to infinity, leading
to spiked triangles or random polygons, in several programs, such as
demos/engine, demos/dinoshade, Blender, Extreme Tux Racer.
The system is running:
Linux 2.6.33-rc2
libdrm 2.4.17
Mesa HEAD (b46bcd8e7b37aa2e9159e126c1cc88234a3c2790)
Detected an NV40 generation card (0x049800a2)
64 MB GART aperture
256 MB VRAM
The problem is solved by either of the following:
1. #define FORCE_SWTNL 1
2. Adding usleep(10000) at the end of nv40_draw_arrays
3. Making nouveau_screen_bo_del do nothing
It seems that the issue is that Mesa deletes a buffer object used for vertex
data while the GPU is still drawing to it. The kernel actually performs the
deletion without waiting for the GPU drawing, the memory (or GART mapping) is
reused, and corruption ensues.
More information about the Nouveau
mailing list