Paul Gofman : d3dx9/tests: Add test for D3DXSHMultiply3 arguments aliasing.

Alexandre Julliard julliard at wine.codeweavers.com
Tue Apr 19 10:55:58 CDT 2016


Module: wine
Branch: master
Commit: ab78cffea7ac676a7041c7d6941b61140cfe005c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=ab78cffea7ac676a7041c7d6941b61140cfe005c

Author: Paul Gofman <gofmanp at gmail.com>
Date:   Mon Apr 18 20:09:27 2016 +0300

d3dx9/tests: Add test for D3DXSHMultiply3 arguments aliasing.

Signed-off-by: Paul Gofman <gofmanp at gmail.com>
Signed-off-by: Matteo Bruni <mbruni at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3dx9_36/tests/math.c | 25 ++++++++++++++++++++-----
 1 file changed, 20 insertions(+), 5 deletions(-)

diff --git a/dlls/d3dx9_36/tests/math.c b/dlls/d3dx9_36/tests/math.c
index 190fb84..dddd806 100644
--- a/dlls/d3dx9_36/tests/math.c
+++ b/dlls/d3dx9_36/tests/math.c
@@ -3108,10 +3108,18 @@ static void test_D3DXSHMultiply3(void)
     unsigned int i;
     FLOAT a[20], b[20], c[20];
     /* D3DXSHMultiply3 only modifies the first 9 elements of the array */
-    const FLOAT expected[20] =
-    { 7.813913f, 2.256058f, 5.9484005f, 4.970894f, 2.899858f, 3.598946f,
-      1.726572f, 5.573538f, 0.622063f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f,
-      14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f };
+    static const float expected[20] =
+    {
+        7.813913f, 2.256058f, 5.9484005f, 4.970894f, 2.899858f, 3.598946f,
+        1.726572f, 5.573538f, 0.622063f, 9.0f, 10.0f, 11.0f, 12.0f, 13.0f,
+        14.0f, 15.0f, 16.0f, 17.0f, 18.0f, 19.0f
+    };
+    static const float expected_aliased[20] =
+    {
+        454.092499f,2.126404f, 5.570401f, 15.330379f, 22.796087f, 43.604126f,
+        4.273841f, 175.772034f, 237.672729f, 1.09f, 1.1f, 1.11f, 1.12f, 1.13f,
+        1.14f, 1.15f, 1.16f, 1.17f, 1.18f, 1.19f
+    };
 
     for (i = 0; i < 20; i++)
     {
@@ -3122,7 +3130,14 @@ static void test_D3DXSHMultiply3(void)
 
     D3DXSHMultiply3(c, a, b);
     for (i = 0; i < 20; i++)
-        ok(relative_error(c[i], expected[i]) < admitted_error, "Expected[%d] = %f, received = %f\n", i, expected[i], c[i]);
+        ok(relative_error(c[i], expected[i]) < admitted_error,
+                "Expected[%d] = %f, received = %f\n", i, expected[i], c[i]);
+    for (i = 0; i < 20; i++)
+        c[i] = a[i];
+    D3DXSHMultiply3(c, c, b);
+    for (i = 0; i < 20; i++)
+        ok(relative_error(c[i], expected_aliased[i]) < admitted_error,
+                "Expected[%d] = %f, received = %f\n", i, expected[i], c[i]);
 }
 
 static void test_D3DXSHMultiply4(void)




More information about the wine-cvs mailing list