in Direct3D, Report vertex shader compile errors, make RSQ work with either version of swizzle code

H. Verbeet hverbeet at
Tue Jan 2 14:46:22 CST 2007

On 02/01/07, * * <richardvoigt at> wrote:
> This patch repairs the broken translation of reciprocal square root
> (RSQ) in shader programs which was creating lines like:
> RSQ R1.x, R0.xxxx
> which are rejected by the compiler (the input to RSQ is a scalar,
> swizzle notation isn't allowed) at least with my ndivia driver.  Every
> example of RSQ I could find anywhere uses just a single component, and
> it fixes Galactic Civilizations 2 "Dark Avatar" which I'm trying to
> make run.
> This along with implementation of ScriptStringOut makes GC2 quite
> playable (though the save menu still crashes).
> Hey, just noticed that the swizzle code was reverted in the tree,
> breaking my patch.... so now I have two, to make it work either way.
> Some of my changes aren't needed with the old version of the swizzle
> code, I guess.  I still think there's some value to the other changes
> which report an error when the shader compilation fails.
Well, the reason for reverting that patch was breakage like this, so
this should already work with current git. As for passing through
shader compilation error to the application... we don't really want
that. The current code already prints a FIXME if compilation fails,
and we like to see it when things break rather than hiding it. A more
general comment about the patch: you want to send separate changes as
separate patches (the changes in drawprim.c are completely unrelated).

More information about the wine-patches mailing list