While trying to address a D3D rendering bug report in Wine, I've been working on trying to add card recognition support into Wine for the Mesa ATI (R300/R600) drivers. This was in order to resolve a rendering issue when using the Mesa ATI driver. What we've found is that a code workaround to avoid using ARB_texture_non_power_of_two APIs on R300-R500 cards also seems to fix this rendering issue on Mesa DRI R600 (in particular with an HD4800 series card). This would seem to indicate a bug in the ARP texture_non_power_of_two implementation on R600. The Wine bug report is at http://bugs.winehq.org/show_bug.cgi?id=21515 Comments #45-47 indicate that the rendering problem is "fixed" by activating a "quirk"/workaround that avoids ARB_texture_non_power_of_two. Stefan Dosinger's comment #48 indicates what the "quirk" workaround does, how it should not be required on an R600/R700 series card, and how that indicates a probable driver bug.
Can you explain the broken behavior or do you have a screen shot? Or even better, do you have a simple test case that shows the broken behavior? The basic npot demos work fine. I suspect the actual bug may lie elsewhere; i.e., there are bugs with certain types of vertex fetches.
Created attachment 33257 [details] NP2 Workaround Enabled Screenshot taken from 3Dmark2001SE running under WINE with the NP2 workaround employed.
Created attachment 33258 [details] NP2 Workaround Disabled Screenshot from 3DMark2001SE running on WINE with the NP2 quirk disabled.
In the screenshots you will see that when the workaround is disabled, the human models are missing. When the workaround is enabled, the models are shown.
Does it work any better with mesa from git master or 7.7 branch? Specifically this commit might help: eeb49d3ad82861272e8987515df3cc5da4ed2d09
@Alex My entire toolchain is from current git. (wine,linux,drm,mesa,xf86-video-ati) HD4870, Ubuntu-9.10 x86_64
3DMark2001SE is free software and available for download from: http://www.futuremark.com/download/3dmark2001/ WINE is also free software and available from: git://source.winehq.org/git/wine.git
(In reply to comment #6) > @Alex > > My entire toolchain is from current git. (wine,linux,drm,mesa,xf86-video-ati) > > HD4870, Ubuntu-9.10 x86_64 > So I take it that you tested with that commit (eeb49d3ad82861272e8987515df3cc5da4ed2d09) and it didn't help?
The last commit for mesa i have is, 3a916b0e81cdbc695d0af317f7d5d8515af13c02
(In reply to comment #9) > The last commit for mesa i have is, 3a916b0e81cdbc695d0af317f7d5d8515af13c02 > Ok, so it's another issue then.
This is in the shared code. I see this bug with r200 too. Models have worked before rewrite so this is some regression in rewrite. > --- Comment #10 from Alex Deucher <agd5f@yahoo.com> 2010-02-12 11:27:49 PST --- > (In reply to comment #9) >> The last commit for mesa i have is, 3a916b0e81cdbc695d0af317f7d5d8515af13c02 >> > > Ok, so it's another issue then.
Note: classic r600 driver has been abandoned. Please use r600g (gallium driver) instead. Is this still an issue with a newer driver/kernel?
It seems to be resolved. I just reloaded 3Dmark2001SE and ran it under Ubuntu 12.04 with current gallium drivers and wine and couldn't reproduce the issue.
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.