From: <bug...@fr...> - 2007-06-26 17:09:58
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 Summary: r300 DRI misrenders 3D objects Product: DRI Version: XOrg CVS Platform: x86 (IA32) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: General AssignedTo: dri...@li... ReportedBy: be...@ar... When trying to use DRI enabled applications on an R300 (ATI Mobility Radeon 9600 M10, PCI ID 1002:4e50 subsystem 1025:0046; 1400x1050 at 24 bpp), the application's window is garbled (there is no crash, and it looks like the application is working, just not drawing the correct items). Neither X logs nor dmesg show any error messages, LIBGL_DEBUG=verbose glxinfo doesn't report anything odd. 2D acceleration is working perfectly, identical software works well (including DRI) with an r200 card. xorg-server 1.3.0.0 xf86-video-ati 6.6.192 Mesa 6.5.3 (also tried 7.0 with patched xorg-server, same effect) libdrm from git Linux 2.6.22-rc4 (tried both stock kernel and kernel with current DRI git modules; also tried 2.6.21) glibc 2.6 gcc 4.2 The same machine worked well roughly a year ago, with xorg-server 1.1.1, xf86-video-ati 6.6.1, libdrm 2.1, Linux 2.6.18-rc2, glibc 2.4, gcc 4.1.1 Misrenderings depend on the application. blender just garbles its window (will attach a screenshot), tuxracer/ppracer draw the background and nothing else (possibly the menus etc. are hidden behind the background), glxgears shows just a black window and a pretty high FPS (9281 frames in 5.0 seconds = 1856.061 FPS 9389 frames in 5.0 seconds = 1877.744 FPS) -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 17:10:56
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #1 from be...@ar... 2007-06-26 10:10 PST ------- Created an attachment (id=10459) --> (http://bugs.freedesktop.org/attachment.cgi?id=10459&action=view) Screenshot showing garbled blender -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 17:40:57
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 z3r...@gm... changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z3r...@gm... ------- Comment #2 from z3r...@gm... 2007-06-26 10:40 PST ------- This is probably one of my commits... Maybe the vertex shader clean up. I'm compiling blender now and I'll start bisecting this assuming I can reproduce the bug. :-) -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 17:53:36
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 mi...@tu... changed: What |Removed |Added ---------------------------------------------------------------------------- Component|General |Drivers/DRI/r300 Product|DRI |Mesa Version|XOrg CVS |unspecified ------- Comment #3 from mi...@tu... 2007-06-26 10:52 PST ------- (In reply to comment #0) > The same machine worked well roughly a year ago, with xorg-server 1.1.1, > xf86-video-ati 6.6.1, libdrm 2.1, Linux 2.6.18-rc2, glibc 2.4, gcc 4.1.1 What version of Mesa was that? Does that version still work with the rest of the system unchanged? -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 17:58:41
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #4 from z3r...@gm... 2007-06-26 10:58 PST ------- I just tested Blender 2.44 with Mesa from git and it worked fine... Could you try with Mesa from git? -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 18:51:05
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #5 from be...@ar... 2007-06-26 11:50 PST ------- Mesa from today's git does the same thing as 7.0 (and 6.5.3). The last Mesa version known to work for me is a CVS snapshot from 2006/07/19. I'll try putting that in (it'll take a while to adjust xorg-server 1.3.0.0 to compile against it though) next. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 18:55:33
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #6 from pap...@cs... 2007-06-26 11:55 PST ------- (In reply to comment #5) > Mesa from today's git does the same thing as 7.0 (and 6.5.3). > > The last Mesa version known to work for me is a CVS snapshot from 2006/07/19. > I'll try putting that in (it'll take a while to adjust xorg-server 1.3.0.0 to > compile against it though) next. > Well I don't have such problems with latest mesa. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 19:20:04
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #7 from ad...@vo... 2007-06-26 12:19 PST ------- Nor I. There were problems (which look nothing like the attached screenshot) with blender up till last week, but they were remedied for me and it works flawlessly. I am running Xorg 7.2, so I don't know if that would make any difference. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 23:22:45
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #8 from be...@ar... 2007-06-26 16:22 PST ------- Going back to the old Mesa while leaving the rest the same doesn't fix things -- chances are this is an interoperability problem with something else. Is anyone for whom this works using gcc 4.2.x and/or xorg-server 1.3.0? -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-26 23:46:33
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #9 from ad...@vo... 2007-06-26 16:46 PST ------- I've now tried with xorg-server 1.3.0 and it works fine. gcc on this machine is 4.1.2. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-27 06:38:31
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #10 from mi...@tu... 2007-06-26 23:38 PST ------- (In reply to comment #8) > Going back to the old Mesa while leaving the rest the same doesn't fix things > -- chances are this is an interoperability problem with something else. > > Is anyone for whom this works using gcc 4.2.x and/or xorg-server 1.3.0? xorg-server shouldn't really matter (in particular, you don't need to rebuild it at all or even restart it to try different 3D drivers), so the prime suspect would appear to be gcc - the Mesa codebase is relatively fragile wrt compiler optimizations. Does it work if you build Mesa with the old compiler, or if you build the linux-dri or linux-dri-debug target instead of linux-dri-x86? I guess a simple first test for this theory would be to try the old Mesa binaries. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-27 08:04:26
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #11 from pap...@cs... 2007-06-27 01:04 PST ------- (In reply to comment #9) > I've now tried with xorg-server 1.3.0 and it works fine. gcc on this machine > is 4.1.2. > And here it works OK with gcc version 4.2.1 20070606 (prerelease). -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-27 13:50:33
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #12 from be...@ar... 2007-06-27 06:50 PST ------- It's definitely a compiler thing. If I just build it (7.0) with make linux-dri-x86 OPT_FLAGS="-O0" it works perfectly. I'll try to figure out what flag exactly causes it to break. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-27 21:02:20
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #13 from be...@ar... 2007-06-27 14:02 PST ------- The culprit is -O2, it works at -O0 and -O1. Will trace it down to a specific part of -O2 and report it to the gcc guys -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-28 06:24:28
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #14 from mi...@tu... 2007-06-27 23:24 PST ------- (In reply to comment #13) > The culprit is -O2, it works at -O0 and -O1. Will trace it down to a specific > part of -O2 and report it to the gcc guys The Mesa codebase is not strict aliasing safe, make sure you use -fno-strict-aliasing with -O2. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-28 10:34:38
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #15 from be...@ar... 2007-06-28 03:34 PST ------- I know -- the screenshot is the result of -O2 -march=i686 -fno-strict-aliasing -fweb -frename-registers. (And the r200 driver and software rendering compiled with those flags works perfectly, it's just r300). Still getting the same results with -O2 and a number of the optimizations that are usually part of -O2 disabled (-O2 -fno-thread-jumps -fno-crossjumping -fno-optimize-sibling-calls -fno-cse-follow-jumps -fno-cse-skip-blocks -fno-gcse -fno-gcse-lm -fno-expensive-optimizations -fno-strict-aliasing) Currently building with some more optimizations disabled. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-28 10:52:03
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #16 from sr...@tu... 2007-06-28 03:51 PST ------- (In reply to comment #15) > Currently building with some more optimizations disabled. You could try without the -ffast-math switch. It doesn't really do the same things if optimizations are enabled or not (though -O1 was enough to trigger the different behaviour for me (bug #9856)). -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-29 08:23:30
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #17 from be...@ar... 2007-06-29 01:08 PST ------- -ftree-vrp (enabled by default at -O2 and higher) is the culprit. If you compile r300_state.c with -O2 -fno-tree-vrp, everything works as expected. All other files can be compiled with full -O2. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-06-29 08:23:37
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #18 from be...@ar... 2007-06-29 01:21 PST ------- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32544 -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-07-04 12:19:19
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #19 from be...@ar... 2007-07-04 05:19 PST ------- The gcc guys claim -fno-tree-vrp doesn't generate any significant difference in the asm output, yet that flag definitely fixes it here. Could this be some strange timing issue triggered by unexpectedly fast execution of r300SetupPixelShader()? -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-07-04 14:16:29
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #20 from j.g...@gm... 2007-07-04 07:16 PST ------- How did you narrowed down to this specific function ? I also don't see any differences in preprocessed source. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-07-04 14:21:52
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #21 from be...@ar... 2007-07-04 07:21 PST ------- The preprocessor output can't be different because -f[no-]tree-vrp doesn't affect the preprocessor -- it affects the generated assembly code. I narrowed down the function by splitting radeon_state.c into 2 files, compiling one with -ftree-vrp and one with -fno-tree-vrp, moving functions around between the 2 files until a version with only 1 function in the -ftree-vrp one broke (removing any "static" keywords of course). -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-07-04 14:32:32
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #22 from j.g...@gm... 2007-07-04 07:32 PST ------- Can you provide asm output of the function with & without the -ftree-vrp options, i haven't access to gcc 4.2.1. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-08-07 15:22:46
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #23 from bl...@ma... 2007-08-07 08:22 PST ------- I experience the same problem on a RV350 with blender, building with -O2 also triggers a hardlock when using compiz. It works fine when building r300_state.c with -fno-tree-vrp. It also runs fine when building with -O3, or when building with -O2 with gcc 4.3 I've isolated the code of r300SetupPixelShader() in a separate file, and diffed the assembly code. It shows this a gcc bug (a teammate will add more info on the upstream gcc bug report). For reference, I'll attach the preprocessed and assembly files, as well as the assembly diff when building with -fno-tree-vrp, but this bug can probably be closed as INVALID. -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |
From: <bug...@fr...> - 2007-08-07 15:23:31
|
http://bugs.freedesktop.org/show_bug.cgi?id=11380 ------- Comment #24 from bl...@ma... 2007-08-07 08:23 PST ------- Created an attachment (id=11032) --> (http://bugs.freedesktop.org/attachment.cgi?id=11032&action=view) preprocessed code of r300SetupPixelShader() -- Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. |