Dylan Smith : d3dx9/tests: Added tests for D3DXCreateSkinInfo.

Dylan Smith dylan.ah.smith at gmail.com
Fri Jun 24 10:06:59 CDT 2011


On Fri, Jun 24, 2011 at 11:04 AM, Dylan Smith <dylan.ah.smith at gmail.com> wrote:
> So how about the revised patch that uses memset to set all the bits to 1.

Oops, forgot to diff against origin. Attached patch against origin.
-------------- next part --------------
diff --git a/dlls/d3dx9_36/tests/mesh.c b/dlls/d3dx9_36/tests/mesh.c
index a07cc9d..8a87da3 100644
--- a/dlls/d3dx9_36/tests/mesh.c
+++ b/dlls/d3dx9_36/tests/mesh.c
@@ -4783,6 +4783,9 @@ static void test_create_skin_info(void)
             DWORD num_influences;
             DWORD exp_vertices[2];
             FLOAT exp_weights[2];
+            float nan_value;
+
+            memset(&nan_value, 0xff, sizeof(nan_value));
 
             /* vertex and weight arrays untouched when num_influences is 0 */
             vertices[0] = 0xdeadbeef;
@@ -4809,7 +4812,7 @@ static void test_create_skin_info(void)
             exp_vertices[0] = 0;
             exp_vertices[1] = 0x87654321;
             exp_weights[0] = 0.5;
-            exp_weights[1] = FP_NAN;
+            exp_weights[1] = nan_value;
             num_influences = 2;
 
             hr = skininfo->lpVtbl->SetBoneInfluence(skininfo, 1, num_influences, vertices, weights);
@@ -4834,7 +4837,7 @@ static void test_create_skin_info(void)
             for (i = 0; i < num_influences; i++) {
                 ok(exp_vertices[i] == vertices[i],
                    "influence[%d]: expected vertex %u, got %u\n", i, exp_vertices[i], vertices[i]);
-                ok(exp_weights[i] == weights[i],
+                ok(exp_weights[i] == weights[i] || (isnan(exp_weights[i]) && isnan(weights[i])),
                    "influence[%d]: expected weights %g, got %g\n", i, exp_weights[i], weights[i]);
             }
 


More information about the wine-devel mailing list