[Bug 20922] Wine generates invalid ARB vertex programs

wine-bugs at winehq.org wine-bugs at winehq.org
Sun Dec 6 05:46:03 CST 2009


Stefan Dösinger <stefandoesinger at gmx.at> changed:

           What    |Removed                     |Added
                 CC|                            |stefandoesinger at gmx.at

--- Comment #1 from Stefan Dösinger <stefandoesinger at gmx.at>  2009-12-06 05:46:02 ---
Can you run the program with WINEDEBUG=d3d_shader ? I suspect that the input
shader is already incorrect. src1 and src2 - where the double swizzle occurs -
are supposed to be 4 component constant registers. The double swizzle occurs
because the app sets a swizzle on src1 and src2(2nd and third param) and the
shader_addline code simply concatenates ".w" without looking at the input
swizzle. The question is if it should. C4.w is a single scalar, it can't
possibly work with what the helper constants are supposed to do.

I'll have to write a test case to figure out how Wine is supposed to behave
here. I suspect we should reject the shader and return an error when the app
tries to create it. Its also possible that we should simply ignore the swizzle
and treat "C4.w" as "C4" in this specific  instruction. Or, maybe we should
honor the swizzle and return incorrect results because the taylor coefficients
aren't correct.

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