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.