From e3888ec87cd4d2ca359a4145e7b3460953f0fb32 Mon Sep 17 00:00:00 2001 From: Nozomi Kodama Date: Fri, 29 Jun 2012 14:57:44 +0800 Subject: [PATCH] d3dx9_36: Implementation of D3DXSHScale. --- dlls/d3dx9_24/d3dx9_24.spec | 2 +- dlls/d3dx9_25/d3dx9_25.spec | 2 +- dlls/d3dx9_26/d3dx9_26.spec | 2 +- dlls/d3dx9_27/d3dx9_27.spec | 2 +- dlls/d3dx9_28/d3dx9_28.spec | 2 +- dlls/d3dx9_29/d3dx9_29.spec | 2 +- dlls/d3dx9_30/d3dx9_30.spec | 2 +- dlls/d3dx9_31/d3dx9_31.spec | 2 +- dlls/d3dx9_32/d3dx9_32.spec | 2 +- dlls/d3dx9_33/d3dx9_33.spec | 2 +- dlls/d3dx9_34/d3dx9_34.spec | 2 +- dlls/d3dx9_35/d3dx9_35.spec | 2 +- dlls/d3dx9_36/d3dx9_36.spec | 2 +- dlls/d3dx9_36/math.c | 12 ++++++++++++ dlls/d3dx9_36/tests/math.c | 29 +++++++++++++++++++++++++++++ dlls/d3dx9_37/d3dx9_37.spec | 2 +- dlls/d3dx9_38/d3dx9_38.spec | 2 +- dlls/d3dx9_39/d3dx9_39.spec | 2 +- dlls/d3dx9_40/d3dx9_40.spec | 2 +- dlls/d3dx9_41/d3dx9_41.spec | 2 +- dlls/d3dx9_42/d3dx9_42.spec | 2 +- dlls/d3dx9_43/d3dx9_43.spec | 2 +- include/d3dx9math.h | 1 + 23 files changed, 62 insertions(+), 20 deletions(-) diff --git a/dlls/d3dx9_24/d3dx9_24.spec b/dlls/d3dx9_24/d3dx9_24.spec index f6db3506298..97c8e1aaa97 100644 --- a/dlls/d3dx9_24/d3dx9_24.spec +++ b/dlls/d3dx9_24/d3dx9_24.spec @@ -276,7 +276,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_25/d3dx9_25.spec b/dlls/d3dx9_25/d3dx9_25.spec index ccc1ea71b0e..c202a4cdc19 100644 --- a/dlls/d3dx9_25/d3dx9_25.spec +++ b/dlls/d3dx9_25/d3dx9_25.spec @@ -276,7 +276,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_26/d3dx9_26.spec b/dlls/d3dx9_26/d3dx9_26.spec index ff0506c725a..9edf8b5743e 100644 --- a/dlls/d3dx9_26/d3dx9_26.spec +++ b/dlls/d3dx9_26/d3dx9_26.spec @@ -280,7 +280,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_27/d3dx9_27.spec b/dlls/d3dx9_27/d3dx9_27.spec index ff0506c725a..9edf8b5743e 100644 --- a/dlls/d3dx9_27/d3dx9_27.spec +++ b/dlls/d3dx9_27/d3dx9_27.spec @@ -280,7 +280,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_28/d3dx9_28.spec b/dlls/d3dx9_28/d3dx9_28.spec index 74936360f7d..c960ca668e5 100644 --- a/dlls/d3dx9_28/d3dx9_28.spec +++ b/dlls/d3dx9_28/d3dx9_28.spec @@ -285,7 +285,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_29/d3dx9_29.spec b/dlls/d3dx9_29/d3dx9_29.spec index 74936360f7d..c960ca668e5 100644 --- a/dlls/d3dx9_29/d3dx9_29.spec +++ b/dlls/d3dx9_29/d3dx9_29.spec @@ -285,7 +285,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_30/d3dx9_30.spec b/dlls/d3dx9_30/d3dx9_30.spec index 32d9c39d4ad..ceb408aa922 100644 --- a/dlls/d3dx9_30/d3dx9_30.spec +++ b/dlls/d3dx9_30/d3dx9_30.spec @@ -285,7 +285,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_31/d3dx9_31.spec b/dlls/d3dx9_31/d3dx9_31.spec index 3d05e62c44b..e0343e51b26 100644 --- a/dlls/d3dx9_31/d3dx9_31.spec +++ b/dlls/d3dx9_31/d3dx9_31.spec @@ -282,7 +282,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_32/d3dx9_32.spec b/dlls/d3dx9_32/d3dx9_32.spec index 5893ff071c3..b4ec6c62379 100644 --- a/dlls/d3dx9_32/d3dx9_32.spec +++ b/dlls/d3dx9_32/d3dx9_32.spec @@ -287,7 +287,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_33/d3dx9_33.spec b/dlls/d3dx9_33/d3dx9_33.spec index 5893ff071c3..b4ec6c62379 100644 --- a/dlls/d3dx9_33/d3dx9_33.spec +++ b/dlls/d3dx9_33/d3dx9_33.spec @@ -287,7 +287,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_34/d3dx9_34.spec b/dlls/d3dx9_34/d3dx9_34.spec index 5893ff071c3..b4ec6c62379 100644 --- a/dlls/d3dx9_34/d3dx9_34.spec +++ b/dlls/d3dx9_34/d3dx9_34.spec @@ -287,7 +287,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_35/d3dx9_35.spec b/dlls/d3dx9_35/d3dx9_35.spec index 5893ff071c3..b4ec6c62379 100644 --- a/dlls/d3dx9_35/d3dx9_35.spec +++ b/dlls/d3dx9_35/d3dx9_35.spec @@ -287,7 +287,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec index 2ed971c5ee0..f6a29dfb112 100644 --- a/dlls/d3dx9_36/d3dx9_36.spec +++ b/dlls/d3dx9_36/d3dx9_36.spec @@ -289,7 +289,7 @@ @ stub D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) @ stub D3DXSHRotate(ptr long ptr ptr) @ stub D3DXSHRotateZ(ptr long long ptr) -@ stub D3DXSHScale(ptr long ptr ptr) +@ stdcall D3DXSHScale(ptr long ptr float) @ stub D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) @ stub D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) diff --git a/dlls/d3dx9_36/math.c b/dlls/d3dx9_36/math.c index 28958ae1d0c..24069291782 100644 --- a/dlls/d3dx9_36/math.c +++ b/dlls/d3dx9_36/math.c @@ -2093,3 +2093,15 @@ FLOAT* WINAPI D3DXSHMultiply3(FLOAT *out, CONST FLOAT *a, CONST FLOAT *b) return out; } + +FLOAT* WINAPI D3DXSHScale(FLOAT *out, UINT order, CONST FLOAT *a, CONST FLOAT scale) +{ + UINT i; + + TRACE("out %p, order %u, a %p, scale %f\n", out, order, a, scale); + + for (i = 0; i < order * order; i++) + out[i] = a[i] * scale; + + return out; +} diff --git a/dlls/d3dx9_36/tests/math.c b/dlls/d3dx9_36/tests/math.c index cc6170f8ac2..4952c24cdfc 100644 --- a/dlls/d3dx9_36/tests/math.c +++ b/dlls/d3dx9_36/tests/math.c @@ -2444,6 +2444,34 @@ static void test_D3DXSHMultiply3(void) ok(relative_error(c[i], expected[i]) < admitted_error, "Expected[%d] = %f, received = %f\n", i, expected[i], c[i]); } +static void test_D3DXSHScale(void) +{ + unsigned int i, order; + FLOAT a[100], b[100], expected, *received_array; + + for (i = 0; i < 100; i++) + { + a[i] = i; + b[i] = i; + } + + for (order = 0; order < 10; order++) + { + received_array = D3DXSHScale(b, order, a, 5.0f); + ok(received_array == b, "Expected %p, received %p", b, received_array); + + for (i = 0; i < 100; i++) + { + if (i < order * order) + expected = 5.0f * a[i]; + /* D3DXSHScale does not modify the elements of the array after the order * order-th element */ + else + expected = a[i]; + ok(relative_error(b[i], expected) < admitted_error, "order %d, element %d, expected %f, received %f", order, i, expected, b[i]); + } + } +} + START_TEST(math) { D3DXColorTest(); @@ -2463,4 +2491,5 @@ START_TEST(math) test_D3DXSHAdd(); test_D3DXSHDot(); test_D3DXSHMultiply3(); + test_D3DXSHScale(); } diff --git a/dlls/d3dx9_37/d3dx9_37.spec b/dlls/d3dx9_37/d3dx9_37.spec index 95c5af4c737..044b1f4bf43 100644 --- a/dlls/d3dx9_37/d3dx9_37.spec +++ b/dlls/d3dx9_37/d3dx9_37.spec @@ -289,7 +289,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_38/d3dx9_38.spec b/dlls/d3dx9_38/d3dx9_38.spec index 95c5af4c737..044b1f4bf43 100644 --- a/dlls/d3dx9_38/d3dx9_38.spec +++ b/dlls/d3dx9_38/d3dx9_38.spec @@ -289,7 +289,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_39/d3dx9_39.spec b/dlls/d3dx9_39/d3dx9_39.spec index 95c5af4c737..044b1f4bf43 100644 --- a/dlls/d3dx9_39/d3dx9_39.spec +++ b/dlls/d3dx9_39/d3dx9_39.spec @@ -289,7 +289,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_40/d3dx9_40.spec b/dlls/d3dx9_40/d3dx9_40.spec index 95c5af4c737..044b1f4bf43 100644 --- a/dlls/d3dx9_40/d3dx9_40.spec +++ b/dlls/d3dx9_40/d3dx9_40.spec @@ -289,7 +289,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_41/d3dx9_41.spec b/dlls/d3dx9_41/d3dx9_41.spec index 95c5af4c737..044b1f4bf43 100644 --- a/dlls/d3dx9_41/d3dx9_41.spec +++ b/dlls/d3dx9_41/d3dx9_41.spec @@ -289,7 +289,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_42/d3dx9_42.spec b/dlls/d3dx9_42/d3dx9_42.spec index 95c5af4c737..044b1f4bf43 100644 --- a/dlls/d3dx9_42/d3dx9_42.spec +++ b/dlls/d3dx9_42/d3dx9_42.spec @@ -289,7 +289,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/dlls/d3dx9_43/d3dx9_43.spec b/dlls/d3dx9_43/d3dx9_43.spec index ca1fde09464..c19431aa2cd 100644 --- a/dlls/d3dx9_43/d3dx9_43.spec +++ b/dlls/d3dx9_43/d3dx9_43.spec @@ -282,7 +282,7 @@ @ stdcall D3DXSHPRTCompSuperCluster(ptr ptr long long ptr ptr) d3dx9_36.D3DXSHPRTCompSuperCluster @ stdcall D3DXSHRotate(ptr long ptr ptr) d3dx9_36.D3DXSHRotate @ stdcall D3DXSHRotateZ(ptr long long ptr) d3dx9_36.D3DXSHRotateZ -@ stdcall D3DXSHScale(ptr long ptr ptr) d3dx9_36.D3DXSHScale +@ stdcall D3DXSHScale(ptr long ptr float) d3dx9_36.D3DXSHScale @ stdcall D3DXSimplifyMesh(ptr ptr ptr ptr long long ptr) d3dx9_36.D3DXSimplifyMesh @ stdcall D3DXSphereBoundProbe(ptr float ptr ptr) d3dx9_36.D3DXSphereBoundProbe @ stdcall D3DXSplitMesh(ptr ptr long long ptr ptr ptr ptr ptr) d3dx9_36.D3DXSplitMesh diff --git a/include/d3dx9math.h b/include/d3dx9math.h index 0cffad45ba0..e31d432fa85 100644 --- a/include/d3dx9math.h +++ b/include/d3dx9math.h @@ -380,6 +380,7 @@ FLOAT *WINAPI D3DXFloat16To32Array(FLOAT *pout, CONST D3DXFLOAT16 *pin, UINT n); FLOAT* WINAPI D3DXSHAdd(FLOAT *out, UINT order, CONST FLOAT *a, CONST FLOAT *b); FLOAT WINAPI D3DXSHDot(UINT order, CONST FLOAT *a, CONST FLOAT *b); FLOAT* WINAPI D3DXSHMultiply3(FLOAT *out, CONST FLOAT *a, CONST FLOAT *b); +FLOAT* WINAPI D3DXSHScale(FLOAT *out, UINT order, CONST FLOAT *a, CONST FLOAT scale); #ifdef __cplusplus }