DirectX uses a R/Z transform to translate a texture but under OpenGL a
Q transform must be used instead.

diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 10d753d..5ac2842 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -937,7 +937,7 @@
 /* Routines for GL <-> D3D values */
 GLenum StencilOp(DWORD op);
 void   set_tex_op(IWineD3DDevice *iface, BOOL isAlpha, int Stage, D3DTEXTUREOP op, DWORD arg1, DWORD arg2, DWORD arg3);
-void   set_texture_matrix(const float *smat, DWORD flags);
+void   set_texture_matrix(const float *smat, DWORD flags, BOOL calculatedCoords);
 void   GetSrcAndOpFromValue(DWORD iValue, BOOL isAlphaArg, GLenum* source, GLenum* operand);
 
 SHORT  D3DFmtGetBpp(IWineD3DDeviceImpl* This, D3DFORMAT fmt);