[Bug 37313] New: Incorrect processing of post-transform vertex data
https://bugs.winehq.org/show_bug.cgi?id=37313 Bug ID: 37313 Summary: Incorrect processing of post-transform vertex data Product: Wine Version: 1.7.27 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d Assignee: wine-bugs(a)winehq.org Reporter: iamalannoble(a)hotmail.com When using post-transformed vertex data (using D3DDECLUSAGE_POSITIONT or D3DFVF_XYZRHW) and a pixel shader, WINE incorrectly applies transforms to the non-position components of the vertex data. e.g. texgen and texture matrix is incorrectly applied to texture coordinates. The specification of post-transformed data is scattered across several pages, but here's a quote: D3DDECLUSAGE_POSITIONT ... When a declaration containing this is set, the pipeline does not perform vertex processing. D3DFVF_XYZRHW implies the same thing, as this is the output format of IDirect3DDevice9::ProcessVertices. At http://source.winehq.org/git/wine.git/blob/7f29fc7e91aa7eb88cdb3220ebcbb7a49... wined3d generates a vertex program to match the fragment program, but only the position is handled differently when settings->transformed is true. The specification for post-transformed data indicates that lighting is not evaluated at all and texture coordinates are just copied. The WINED3DTSS_TCI_PASSTHRU case is not sufficient, as that still applies the texture matrix. This function and any related functions should be updated to handle settings->transformed correctly. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=37313 joaopa <jeremielapuree(a)yahoo.fr> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree(a)yahoo.fr --- Comment #1 from joaopa <jeremielapuree(a)yahoo.fr> --- What is the status of this bug? No application with this bug related is given. To be marked as INVALID? -- 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.
https://bugs.winehq.org/show_bug.cgi?id=37313 Matteo Bruni <matteo.mystral(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |INVALID Status|UNCONFIRMED |RESOLVED --- Comment #2 from Matteo Bruni <matteo.mystral(a)gmail.com> --- (In reply to joaopa from comment #1)
What is the status of this bug? No application with this bug related is given.
To be marked as INVALID?
Why would that make the bug invalid? It seems to me though that all the "vertex processing" the OP mentions is actually disabled with transformed vertices (see how wined3d_ffp_get_vs_settings() e.g. disables lighting in that case). It is true that texture matrices are still applied with transformed vertices but they are set to identity in that case (specifically, that's right at the top of compute_texture_matrix() in the current code). For THIS reason I'm marking the bug invalid. If someone can come up with a testcase showing that Wine is doing something wrong in this regard, please attach it here and reopen the bug. -- 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.
https://bugs.winehq.org/show_bug.cgi?id=37313 Bruno Jesus <00cpxxx(a)gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED --- Comment #3 from Bruno Jesus <00cpxxx(a)gmail.com> --- Closing invalid bugs. -- 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.
participants (1)
-
wine-bugs@winehq.org