Bug 26525 - Rendering bug due to ARB_texture_non_power_of_two
Summary: Rendering bug due to ARB_texture_non_power_of_two
Status: RESOLVED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/R600 (show other bugs)
Version: git
Hardware: Other All
: medium normal
Assignee: Default DRI bug account
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-02-10 20:48 UTC by Paul-Andre Panon
Modified: 2012-11-21 21:22 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
NP2 Workaround Enabled (82.56 KB, image/jpeg)
2010-02-12 09:50 UTC, cxo
Details
NP2 Workaround Disabled (74.78 KB, image/jpeg)
2010-02-12 09:51 UTC, cxo
Details

Description Paul-Andre Panon 2010-02-10 20:48:38 UTC
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.
Comment 1 Alex Deucher 2010-02-10 22:04:31 UTC
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. 
Comment 2 cxo 2010-02-12 09:50:42 UTC
Created attachment 33257 [details]
NP2 Workaround Enabled

Screenshot taken from 3Dmark2001SE running under WINE with the NP2 workaround employed.
Comment 3 cxo 2010-02-12 09:51:41 UTC
Created attachment 33258 [details]
NP2 Workaround Disabled

Screenshot from 3DMark2001SE running on WINE with the NP2 quirk disabled.
Comment 4 cxo 2010-02-12 09:55:40 UTC
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.
Comment 5 Alex Deucher 2010-02-12 09:56:42 UTC
Does it work any better with mesa from git master or 7.7 branch?  Specifically this commit might help:
eeb49d3ad82861272e8987515df3cc5da4ed2d09
Comment 6 cxo 2010-02-12 10:03:27 UTC
@Alex

My entire toolchain is from current git. (wine,linux,drm,mesa,xf86-video-ati)

HD4870, Ubuntu-9.10 x86_64
Comment 7 cxo 2010-02-12 10:15:24 UTC
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
Comment 8 Alex Deucher 2010-02-12 10:19:06 UTC
(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?
Comment 9 cxo 2010-02-12 11:16:34 UTC
The last commit for mesa i have is, 3a916b0e81cdbc695d0af317f7d5d8515af13c02

Comment 10 Alex Deucher 2010-02-12 11:27:49 UTC
(In reply to comment #9)
> The last commit for mesa i have is, 3a916b0e81cdbc695d0af317f7d5d8515af13c02
> 

Ok, so it's another issue then.
Comment 11 Pauli 2010-02-13 03:27:46 UTC
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.
Comment 12 Andreas Boll 2012-11-02 16:22:11 UTC
Note: classic r600 driver has been abandoned.
Please use r600g (gallium driver) instead.

Is this still an issue with a newer driver/kernel?
Comment 13 Paul-Andre Panon 2012-11-21 21:22:09 UTC
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.