http://bugs.winehq.org/show_bug.cgi?id=17708
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |matteo.mystral@gmail.com
--- Comment #19 from Matteo Bruni matteo.mystral@gmail.com 2013-02-21 10:48:35 CST --- (In reply to comment #15)
The shaders passed to the glsl compiler seem to contain directx-specific content, that being CTAB- and PRES-shader-comments.
Basically, my question is, are these comments relevant to the actual rendering within wined3d? Should they be set on the renderer device with wined3d_device_set_vs_consts_f() and friends? I couldn't find any place in there handling them. And I'm not quite sure if they should be handled in wined3d at all or are used in d3dx9's dlls only?
Those are only relevant for d3dx9; PRES specifically means there are preshaders, which are one of the features of d3dx9's effect framework still missing in our implementation. If you're using native d3dx9 dlls those shouldn't be an issue.
(In reply to comment #18)
Meh. Frikkin buggy game. I upped the Graphics to max on 1280x1024 (except for HDR and highres textures; without closing the game), now the characters are rendered correctly, though the shadows are broken. I don't get it. So basically one or the other is weird. Still a shader thing I'd say.
Not necessarily, but yeah, it looks like that. The game probably uses different shaders for different graphics settings.
Lines such as "vs_out[3] might be used before being initialized" from GyB's log might be relevant. There is some code in handle_ps3_input() to ensure pixel shader inputs are initialized to 0.0 if they aren't written by the vertex shader, but that might not come into effect if the vertex shader is "clever" enough (e.g. it writes into an output register only in one of the branches of an if). Not sure if that's the case here.
Anyway, I suggest you to get a +d3d_shader trace and look at the relevant shaders, there might be some clue there. You can also attach the trace here (compressing it and/or cutting out the uninteresting parts).