http://bugs.winehq.org/show_bug.cgi?id=26229
Summary: FEAR: waterplane rendering triggers SW fallback in mesa Product: Wine Version: 1.3.14 Platform: x86 URL: http://www.gamershell.com/download_10167.shtml OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: liquid.acid@gmx.net
Hi there,
while profiling FEAR with sysprof I found out that rendering certain objects trigger a software fallback in mesa.
If you check the demo version of the game, you can find such an object after the first underground section: Once the game renders the waterplane that exists in the next section the fallback becomes active and the performance collapses (this happens once you leave the underground area with the ladder). The engine probably uses an FBO for reflection of the world geometry on the waterplane.
Profiling was done on my Intel i965, but I also noticed a slowdown on r600g, so probably the fallback is also triggered there (going to check this later).
sysprof shows these two function consuming the majority of CPU time: _mesa_texstore_s8_z24 54.21% intel_ReadDepthSpan_z24_s8 32.06%
The span functions are used in the driver for software fallbacks. Tracing back intel_ReadDepthSpan_z24_s8 shows: IWineD3DDeviceImpl_DrawIndexedPrimitive drawPrimitive surface_load_ds_location glCopyTexImage2D copyteximage intelCopyTexImage2D copy_tex_image intelReadPixels _swrast_ReadPixels read_depth_stencil_pixels intel_ReadDepthSpan_z24_s8
My guess is that the fallback is triggered by the lack of using EXT_packed_depth_stencil for stencil/depth handling.
Greets, Tobias