Fix catalyst brain damage to speed up Falcon BMS 2x
stefandoesinger at gmail.com
Sat Feb 16 07:52:19 CST 2013
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 <sthalik at 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.
More information about the wine-devel