https://git.reactos.org/?p=reactos.git;a=commitdiff;h=5ba697c68b28b18d53f74…
commit 5ba697c68b28b18d53f74f63577762e201c62afb
Author: winesync <ros-dev(a)reactos.org>
AuthorDate: Wed Feb 5 21:51:59 2020 +0100
Commit: Jérôme Gardou <zefklop(a)users.noreply.github.com>
CommitDate: Wed Feb 26 18:19:18 2020 +0100
[WINESYNC] d3dx9: Implement D3DXComputeTangent
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com>
wine-staging patch by Alistair Leslie-Hughes <leslie_alistair(a)hotmail.com>
---
dll/directx/wine/d3dx9_24/d3dx9_24.spec | 2 +-
dll/directx/wine/d3dx9_25/d3dx9_25.spec | 2 +-
dll/directx/wine/d3dx9_26/d3dx9_26.spec | 2 +-
dll/directx/wine/d3dx9_27/d3dx9_27.spec | 2 +-
dll/directx/wine/d3dx9_28/d3dx9_28.spec | 2 +-
dll/directx/wine/d3dx9_29/d3dx9_29.spec | 2 +-
dll/directx/wine/d3dx9_30/d3dx9_30.spec | 2 +-
dll/directx/wine/d3dx9_31/d3dx9_31.spec | 2 +-
dll/directx/wine/d3dx9_32/d3dx9_32.spec | 2 +-
dll/directx/wine/d3dx9_33/d3dx9_33.spec | 2 +-
dll/directx/wine/d3dx9_34/d3dx9_34.spec | 2 +-
dll/directx/wine/d3dx9_35/d3dx9_35.spec | 2 +-
dll/directx/wine/d3dx9_36/d3dx9_36.spec | 2 +-
dll/directx/wine/d3dx9_36/mesh.c | 18 ++
dll/directx/wine/d3dx9_37/d3dx9_37.spec | 2 +-
dll/directx/wine/d3dx9_38/d3dx9_38.spec | 2 +-
dll/directx/wine/d3dx9_39/d3dx9_39.spec | 2 +-
dll/directx/wine/d3dx9_40/d3dx9_40.spec | 2 +-
dll/directx/wine/d3dx9_41/d3dx9_41.spec | 2 +-
dll/directx/wine/d3dx9_42/d3dx9_42.spec | 2 +-
dll/directx/wine/d3dx9_43/d3dx9_43.spec | 2 +-
.../0011-d3dx9__Implement_D3DXComputeTangent.diff | 289 +++++++++++++++++++++
22 files changed, 327 insertions(+), 20 deletions(-)
diff --git a/dll/directx/wine/d3dx9_24/d3dx9_24.spec
b/dll/directx/wine/d3dx9_24/d3dx9_24.spec
index ad3ea3a036e..3cf044c10e9 100644
--- a/dll/directx/wine/d3dx9_24/d3dx9_24.spec
+++ b/dll/directx/wine/d3dx9_24/d3dx9_24.spec
@@ -20,7 +20,7 @@
@ stdcall D3DXComputeBoundingSphere(ptr long long ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_25/d3dx9_25.spec
b/dll/directx/wine/d3dx9_25/d3dx9_25.spec
index b54a8e16d10..f311bbf1e13 100644
--- a/dll/directx/wine/d3dx9_25/d3dx9_25.spec
+++ b/dll/directx/wine/d3dx9_25/d3dx9_25.spec
@@ -20,7 +20,7 @@
@ stdcall D3DXComputeBoundingSphere(ptr long long ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_26/d3dx9_26.spec
b/dll/directx/wine/d3dx9_26/d3dx9_26.spec
index 03542f07aae..aa560e4ea9e 100644
--- a/dll/directx/wine/d3dx9_26/d3dx9_26.spec
+++ b/dll/directx/wine/d3dx9_26/d3dx9_26.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_27/d3dx9_27.spec
b/dll/directx/wine/d3dx9_27/d3dx9_27.spec
index 03542f07aae..aa560e4ea9e 100644
--- a/dll/directx/wine/d3dx9_27/d3dx9_27.spec
+++ b/dll/directx/wine/d3dx9_27/d3dx9_27.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_28/d3dx9_28.spec
b/dll/directx/wine/d3dx9_28/d3dx9_28.spec
index b470fb33606..fb57152b97b 100644
--- a/dll/directx/wine/d3dx9_28/d3dx9_28.spec
+++ b/dll/directx/wine/d3dx9_28/d3dx9_28.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_29/d3dx9_29.spec
b/dll/directx/wine/d3dx9_29/d3dx9_29.spec
index b470fb33606..fb57152b97b 100644
--- a/dll/directx/wine/d3dx9_29/d3dx9_29.spec
+++ b/dll/directx/wine/d3dx9_29/d3dx9_29.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_30/d3dx9_30.spec
b/dll/directx/wine/d3dx9_30/d3dx9_30.spec
index e90185a5b7d..129e2a049ce 100644
--- a/dll/directx/wine/d3dx9_30/d3dx9_30.spec
+++ b/dll/directx/wine/d3dx9_30/d3dx9_30.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_31/d3dx9_31.spec
b/dll/directx/wine/d3dx9_31/d3dx9_31.spec
index b926ad5e085..2e4456a41c3 100644
--- a/dll/directx/wine/d3dx9_31/d3dx9_31.spec
+++ b/dll/directx/wine/d3dx9_31/d3dx9_31.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_32/d3dx9_32.spec
b/dll/directx/wine/d3dx9_32/d3dx9_32.spec
index a4d698bd4de..d0d3631d98b 100644
--- a/dll/directx/wine/d3dx9_32/d3dx9_32.spec
+++ b/dll/directx/wine/d3dx9_32/d3dx9_32.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_33/d3dx9_33.spec
b/dll/directx/wine/d3dx9_33/d3dx9_33.spec
index a4d698bd4de..d0d3631d98b 100644
--- a/dll/directx/wine/d3dx9_33/d3dx9_33.spec
+++ b/dll/directx/wine/d3dx9_33/d3dx9_33.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_34/d3dx9_34.spec
b/dll/directx/wine/d3dx9_34/d3dx9_34.spec
index a4d698bd4de..d0d3631d98b 100644
--- a/dll/directx/wine/d3dx9_34/d3dx9_34.spec
+++ b/dll/directx/wine/d3dx9_34/d3dx9_34.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_35/d3dx9_35.spec
b/dll/directx/wine/d3dx9_35/d3dx9_35.spec
index a4d698bd4de..d0d3631d98b 100644
--- a/dll/directx/wine/d3dx9_35/d3dx9_35.spec
+++ b/dll/directx/wine/d3dx9_35/d3dx9_35.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_36/d3dx9_36.spec
b/dll/directx/wine/d3dx9_36/d3dx9_36.spec
index 3b5fdcc45dc..9ef3581b978 100644
--- a/dll/directx/wine/d3dx9_36/d3dx9_36.spec
+++ b/dll/directx/wine/d3dx9_36/d3dx9_36.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_36/mesh.c b/dll/directx/wine/d3dx9_36/mesh.c
index a392a5b5c1b..2a9ee0627c0 100644
--- a/dll/directx/wine/d3dx9_36/mesh.c
+++ b/dll/directx/wine/d3dx9_36/mesh.c
@@ -7536,6 +7536,24 @@ done:
return hr;
}
+/*************************************************************************
+ * D3DXComputeTangent (D3DX9_36.@)
+ */
+HRESULT WINAPI D3DXComputeTangent(ID3DXMesh *mesh, DWORD stage_idx, DWORD tangent_idx,
+ DWORD binorm_idx, DWORD wrap, const DWORD *adjacency)
+{
+ TRACE("mesh %p, stage_idx %d, tangent_idx %d, binorm_idx %d, wrap %d, adjacency
%p.\n",
+ mesh, stage_idx, tangent_idx, binorm_idx, wrap, adjacency);
+
+ return D3DXComputeTangentFrameEx( mesh, D3DDECLUSAGE_TEXCOORD, stage_idx,
+ ( binorm_idx == D3DX_DEFAULT ) ? D3DX_DEFAULT : D3DDECLUSAGE_BINORMAL,
+ binorm_idx,
+ ( tangent_idx == D3DX_DEFAULT ) ? D3DX_DEFAULT : D3DDECLUSAGE_TANGENT,
+ tangent_idx, D3DX_DEFAULT, 0,
+ ( wrap ? D3DXTANGENT_WRAP_UV : 0 ) | D3DXTANGENT_GENERATE_IN_PLACE |
D3DXTANGENT_ORTHOGONALIZE_FROM_U,
+ adjacency, -1.01f, -0.01f, -1.01f, NULL, NULL);
+}
+
/*************************************************************************
* D3DXComputeNormals (D3DX9_36.@)
*/
diff --git a/dll/directx/wine/d3dx9_37/d3dx9_37.spec
b/dll/directx/wine/d3dx9_37/d3dx9_37.spec
index 3b5fdcc45dc..9ef3581b978 100644
--- a/dll/directx/wine/d3dx9_37/d3dx9_37.spec
+++ b/dll/directx/wine/d3dx9_37/d3dx9_37.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_38/d3dx9_38.spec
b/dll/directx/wine/d3dx9_38/d3dx9_38.spec
index 3b5fdcc45dc..9ef3581b978 100644
--- a/dll/directx/wine/d3dx9_38/d3dx9_38.spec
+++ b/dll/directx/wine/d3dx9_38/d3dx9_38.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_39/d3dx9_39.spec
b/dll/directx/wine/d3dx9_39/d3dx9_39.spec
index 3b5fdcc45dc..9ef3581b978 100644
--- a/dll/directx/wine/d3dx9_39/d3dx9_39.spec
+++ b/dll/directx/wine/d3dx9_39/d3dx9_39.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_40/d3dx9_40.spec
b/dll/directx/wine/d3dx9_40/d3dx9_40.spec
index 3b5fdcc45dc..9ef3581b978 100644
--- a/dll/directx/wine/d3dx9_40/d3dx9_40.spec
+++ b/dll/directx/wine/d3dx9_40/d3dx9_40.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_41/d3dx9_41.spec
b/dll/directx/wine/d3dx9_41/d3dx9_41.spec
index 3b5fdcc45dc..9ef3581b978 100644
--- a/dll/directx/wine/d3dx9_41/d3dx9_41.spec
+++ b/dll/directx/wine/d3dx9_41/d3dx9_41.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_42/d3dx9_42.spec
b/dll/directx/wine/d3dx9_42/d3dx9_42.spec
index 3a681e3edfa..c1f0104d978 100644
--- a/dll/directx/wine/d3dx9_42/d3dx9_42.spec
+++ b/dll/directx/wine/d3dx9_42/d3dx9_42.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git a/dll/directx/wine/d3dx9_43/d3dx9_43.spec
b/dll/directx/wine/d3dx9_43/d3dx9_43.spec
index 3a681e3edfa..c1f0104d978 100644
--- a/dll/directx/wine/d3dx9_43/d3dx9_43.spec
+++ b/dll/directx/wine/d3dx9_43/d3dx9_43.spec
@@ -24,7 +24,7 @@
@ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
@ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
@ stdcall D3DXComputeNormals(ptr ptr)
-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
+@ stdcall D3DXComputeTangent(ptr long long long long ptr)
@ stdcall -stub D3DXComputeTangentFrame(ptr long)
@ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
@ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
diff --git
a/sdk/tools/winesync/d3dx9_staging/0011-d3dx9__Implement_D3DXComputeTangent.diff
b/sdk/tools/winesync/d3dx9_staging/0011-d3dx9__Implement_D3DXComputeTangent.diff
new file mode 100644
index 00000000000..2849edc8155
--- /dev/null
+++ b/sdk/tools/winesync/d3dx9_staging/0011-d3dx9__Implement_D3DXComputeTangent.diff
@@ -0,0 +1,289 @@
+diff --git a/dll/directx/wine/d3dx9_24/d3dx9_24.spec
b/dll/directx/wine/d3dx9_24/d3dx9_24.spec
+index ad3ea3a0..3cf044c1 100644
+--- a/dll/directx/wine/d3dx9_24/d3dx9_24.spec
++++ b/dll/directx/wine/d3dx9_24/d3dx9_24.spec
+@@ -20,7 +20,7 @@
+ @ stdcall D3DXComputeBoundingSphere(ptr long long ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_25/d3dx9_25.spec
b/dll/directx/wine/d3dx9_25/d3dx9_25.spec
+index b54a8e16..f311bbf1 100644
+--- a/dll/directx/wine/d3dx9_25/d3dx9_25.spec
++++ b/dll/directx/wine/d3dx9_25/d3dx9_25.spec
+@@ -20,7 +20,7 @@
+ @ stdcall D3DXComputeBoundingSphere(ptr long long ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_26/d3dx9_26.spec
b/dll/directx/wine/d3dx9_26/d3dx9_26.spec
+index 03542f07..aa560e4e 100644
+--- a/dll/directx/wine/d3dx9_26/d3dx9_26.spec
++++ b/dll/directx/wine/d3dx9_26/d3dx9_26.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_27/d3dx9_27.spec
b/dll/directx/wine/d3dx9_27/d3dx9_27.spec
+index 03542f07..aa560e4e 100644
+--- a/dll/directx/wine/d3dx9_27/d3dx9_27.spec
++++ b/dll/directx/wine/d3dx9_27/d3dx9_27.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_28/d3dx9_28.spec
b/dll/directx/wine/d3dx9_28/d3dx9_28.spec
+index b470fb33..fb57152b 100644
+--- a/dll/directx/wine/d3dx9_28/d3dx9_28.spec
++++ b/dll/directx/wine/d3dx9_28/d3dx9_28.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_29/d3dx9_29.spec
b/dll/directx/wine/d3dx9_29/d3dx9_29.spec
+index b470fb33..fb57152b 100644
+--- a/dll/directx/wine/d3dx9_29/d3dx9_29.spec
++++ b/dll/directx/wine/d3dx9_29/d3dx9_29.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_30/d3dx9_30.spec
b/dll/directx/wine/d3dx9_30/d3dx9_30.spec
+index e90185a5..129e2a04 100644
+--- a/dll/directx/wine/d3dx9_30/d3dx9_30.spec
++++ b/dll/directx/wine/d3dx9_30/d3dx9_30.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_31/d3dx9_31.spec
b/dll/directx/wine/d3dx9_31/d3dx9_31.spec
+index b926ad5e..2e4456a4 100644
+--- a/dll/directx/wine/d3dx9_31/d3dx9_31.spec
++++ b/dll/directx/wine/d3dx9_31/d3dx9_31.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_32/d3dx9_32.spec
b/dll/directx/wine/d3dx9_32/d3dx9_32.spec
+index a4d698bd..d0d3631d 100644
+--- a/dll/directx/wine/d3dx9_32/d3dx9_32.spec
++++ b/dll/directx/wine/d3dx9_32/d3dx9_32.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_33/d3dx9_33.spec
b/dll/directx/wine/d3dx9_33/d3dx9_33.spec
+index a4d698bd..d0d3631d 100644
+--- a/dll/directx/wine/d3dx9_33/d3dx9_33.spec
++++ b/dll/directx/wine/d3dx9_33/d3dx9_33.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_34/d3dx9_34.spec
b/dll/directx/wine/d3dx9_34/d3dx9_34.spec
+index a4d698bd..d0d3631d 100644
+--- a/dll/directx/wine/d3dx9_34/d3dx9_34.spec
++++ b/dll/directx/wine/d3dx9_34/d3dx9_34.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_35/d3dx9_35.spec
b/dll/directx/wine/d3dx9_35/d3dx9_35.spec
+index a4d698bd..d0d3631d 100644
+--- a/dll/directx/wine/d3dx9_35/d3dx9_35.spec
++++ b/dll/directx/wine/d3dx9_35/d3dx9_35.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_36/d3dx9_36.spec
b/dll/directx/wine/d3dx9_36/d3dx9_36.spec
+index 3b5fdcc4..9ef3581b 100644
+--- a/dll/directx/wine/d3dx9_36/d3dx9_36.spec
++++ b/dll/directx/wine/d3dx9_36/d3dx9_36.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_36/mesh.c b/dll/directx/wine/d3dx9_36/mesh.c
+index a392a5b5..2a9ee062 100644
+--- a/dll/directx/wine/d3dx9_36/mesh.c
++++ b/dll/directx/wine/d3dx9_36/mesh.c
+@@ -7536,6 +7536,24 @@ done:
+ return hr;
+ }
+
++/*************************************************************************
++ * D3DXComputeTangent (D3DX9_36.@)
++ */
++HRESULT WINAPI D3DXComputeTangent(ID3DXMesh *mesh, DWORD stage_idx, DWORD tangent_idx,
++ DWORD binorm_idx, DWORD wrap, const DWORD *adjacency)
++{
++ TRACE("mesh %p, stage_idx %d, tangent_idx %d, binorm_idx %d, wrap %d, adjacency
%p.\n",
++ mesh, stage_idx, tangent_idx, binorm_idx, wrap, adjacency);
++
++ return D3DXComputeTangentFrameEx( mesh, D3DDECLUSAGE_TEXCOORD, stage_idx,
++ ( binorm_idx == D3DX_DEFAULT ) ? D3DX_DEFAULT : D3DDECLUSAGE_BINORMAL,
++ binorm_idx,
++ ( tangent_idx == D3DX_DEFAULT ) ? D3DX_DEFAULT : D3DDECLUSAGE_TANGENT,
++ tangent_idx, D3DX_DEFAULT, 0,
++ ( wrap ? D3DXTANGENT_WRAP_UV : 0 ) | D3DXTANGENT_GENERATE_IN_PLACE |
D3DXTANGENT_ORTHOGONALIZE_FROM_U,
++ adjacency, -1.01f, -0.01f, -1.01f, NULL, NULL);
++}
++
+ /*************************************************************************
+ * D3DXComputeNormals (D3DX9_36.@)
+ */
+diff --git a/dll/directx/wine/d3dx9_37/d3dx9_37.spec
b/dll/directx/wine/d3dx9_37/d3dx9_37.spec
+index 3b5fdcc4..9ef3581b 100644
+--- a/dll/directx/wine/d3dx9_37/d3dx9_37.spec
++++ b/dll/directx/wine/d3dx9_37/d3dx9_37.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_38/d3dx9_38.spec
b/dll/directx/wine/d3dx9_38/d3dx9_38.spec
+index 3b5fdcc4..9ef3581b 100644
+--- a/dll/directx/wine/d3dx9_38/d3dx9_38.spec
++++ b/dll/directx/wine/d3dx9_38/d3dx9_38.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_39/d3dx9_39.spec
b/dll/directx/wine/d3dx9_39/d3dx9_39.spec
+index 3b5fdcc4..9ef3581b 100644
+--- a/dll/directx/wine/d3dx9_39/d3dx9_39.spec
++++ b/dll/directx/wine/d3dx9_39/d3dx9_39.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_40/d3dx9_40.spec
b/dll/directx/wine/d3dx9_40/d3dx9_40.spec
+index 3b5fdcc4..9ef3581b 100644
+--- a/dll/directx/wine/d3dx9_40/d3dx9_40.spec
++++ b/dll/directx/wine/d3dx9_40/d3dx9_40.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_41/d3dx9_41.spec
b/dll/directx/wine/d3dx9_41/d3dx9_41.spec
+index 3b5fdcc4..9ef3581b 100644
+--- a/dll/directx/wine/d3dx9_41/d3dx9_41.spec
++++ b/dll/directx/wine/d3dx9_41/d3dx9_41.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_42/d3dx9_42.spec
b/dll/directx/wine/d3dx9_42/d3dx9_42.spec
+index 3a681e3e..c1f0104d 100644
+--- a/dll/directx/wine/d3dx9_42/d3dx9_42.spec
++++ b/dll/directx/wine/d3dx9_42/d3dx9_42.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)
+diff --git a/dll/directx/wine/d3dx9_43/d3dx9_43.spec
b/dll/directx/wine/d3dx9_43/d3dx9_43.spec
+index 3a681e3e..c1f0104d 100644
+--- a/dll/directx/wine/d3dx9_43/d3dx9_43.spec
++++ b/dll/directx/wine/d3dx9_43/d3dx9_43.spec
+@@ -24,7 +24,7 @@
+ @ stdcall -stub D3DXComputeIMTFromTexture(ptr ptr long long ptr ptr ptr)
+ @ stdcall D3DXComputeNormalMap(ptr ptr ptr long long float)
+ @ stdcall D3DXComputeNormals(ptr ptr)
+-@ stdcall -stub D3DXComputeTangent(ptr long long long long ptr)
++@ stdcall D3DXComputeTangent(ptr long long long long ptr)
+ @ stdcall -stub D3DXComputeTangentFrame(ptr long)
+ @ stdcall D3DXComputeTangentFrameEx(ptr long long long long long long long long long ptr
float float float ptr ptr)
+ @ stdcall -stub D3DXConcatenateMeshes(ptr long long ptr ptr ptr ptr ptr)