Hi,

The patch is conceptually wrong, tweaking how you disable ARB_map_buffer_range 
won't improve the odds of it getting in. As I said, you want to make sure that 
the problem is indeed fglrx(i.e., test on other cards and see if 
map_buffer_range has a negative impact there), and if it is, we have to find 
out why it is slow in this case, rather than just disabling it.

ARB_map_buffer_range works as intended on fglrx in many other applications(e.g. 
Half Life 2, 3DMark 2000 and 2001, UT2004, World in Conflict, …) . Disabling it 
because it slows down one application is not the correct approach.

I'll still address some of the points below as it may help you with the wined3d 
code:

Am 16.02.2013 um 12:18 schrieb Stanislaw Halik <stha...@misaki.pl>:
>> Other than being wrong conceptually, you're disabling dynamic buffers
>> the wrong way: The "proper" way would be to add a quirk to the
>> quirk_table in directx.c that removes ARB_map_buffer_range from the
>> list of supported extensions if the driver vendor is AMD.
> 
> Like this? Patch attached.
No, you can just set gl_info->supported[ARB_MAP_BUFFER_RANGE] to FALSE. See 
e.g. quirk_amd_dx9().

> Lack of GLSL disables HDR apparently. But enabling it changes FPS from 70 to 
> 90.
You want GLSL on AMD GPUs because the ARB shader extensions support only Shader 
Model 2.0. I don't see the problem with changing the fps from 70 to 90 either 
:-) . Did you accidentally swap the numbers?

> Without GDI, there's some nasty display corruption on FBOs.
Uh, unless this is a DirectDraw / d3d7 application, the DirectDrawRenderer 
setting won't affect it. And if it is such an app, UseGLSL won't have any real 
effect. Are you sure about this?

In a ddraw app, setting DirectDrawRenderer = gdi will disable any 3D 
acceleration.

> But with all this busywork, performance is near-native. Catalyst at
> least supports indirect addressing (whatever that means) and doesn't
> choke on > 128 temps... FYI Mesa bug submitted:
I'm not sure what you mean by this. The mesa bug is incomprehensible as well, 
it isn't clear what exactly fails. I guess some shader doesn't compile, it 
might be helpful to attach the failing shader from Wine's debug output.



Reply via email to