[Bug 17708] Splinter cell double agent doesn't render correctly

wine-bugs at winehq.org wine-bugs at winehq.org
Thu Feb 21 10:48:35 CST 2013


http://bugs.winehq.org/show_bug.cgi?id=17708

Matteo Bruni <matteo.mystral at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |matteo.mystral at gmail.com

--- Comment #19 from Matteo Bruni <matteo.mystral at 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).

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list