http://bugs.winehq.org/show_bug.cgi?id=12453
--- Comment #30 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-05-13 05:03:41 --- Looking at Left4Dead's activity, the main culprit for 'Downloading rgb texture to reload it as srgb' appears to be a texture that matches the window size, reloaded every frame, and with WINED3DUSAGE_RENDERTARGET set.
This suggests to my limited understanding that they're rendering the whole scene out in RGB to a texture, and then redrawing it to the screen in SRGB, which is why this bug has such a large effect on framerate.
--- Comment #31 from Paul "TBBle" Hampson Paul.Hampson@Pobox.com 2009-05-13 05:08:51 --- Created an attachment (id=21072) --> (http://bugs.winehq.org/attachment.cgi?id=21072) Disable SRGB-sampler-tate-triggered texture reloads, against 1.1.21
Here's a hack patch against 1.1.21 or so which should bypass attempts to reload an RGB texture as an SRGB texture or vice-versa.
Depending on how the texture was first uploaded, it'll either be too bright (trying to reload RGB as SRGB) or too dark (trying to reload SRGB as RGB).
This patch makes Left4Dead noticeably brighter, and noticeably faster.
--- Comment #32 from Tobias Jakobi liquid.acid@gmx.net 2009-05-13 05:52:07 --- I also noticed that. L4D seems to always use a full scene post-processing effect.
On my old Geforce FX 5900 I only get a screen filled with solid color because of this bug: http://bugs.winehq.org/show_bug.cgi?id=14762
So basically L4D renders the scene to a NP2 texture with screen dimensions, then applies various effects (like blood stains) and blits the texture to screen.