Henri Verbeet : d3d9/tests: Get rid of some unused test data in pretransformed_varying_test().
Alexandre Julliard
julliard at winehq.org
Fri Nov 1 15:17:06 CDT 2013
Module: wine
Branch: master
Commit: 88971aa17d22ab7aac8df01a3b9c58a17206e0df
URL: http://source.winehq.org/git/wine.git/?a=commit;h=88971aa17d22ab7aac8df01a3b9c58a17206e0df
Author: Henri Verbeet <hverbeet at codeweavers.com>
Date: Fri Nov 1 09:41:00 2013 +0100
d3d9/tests: Get rid of some unused test data in pretransformed_varying_test().
---
dlls/d3d9/tests/visual.c | 73 +++++++++++++++++++++------------------------
1 files changed, 34 insertions(+), 39 deletions(-)
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 44755ec..f134067 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -6295,15 +6295,6 @@ static void nested_loop_test(IDirect3DDevice9 *device)
IDirect3DVertexShader9_Release(vshader);
}
-struct varying_test_struct
-{
- const DWORD *shader_code;
- IDirect3DPixelShader9 *shader;
- DWORD color, color_rhw;
- const char *name;
- BOOL todo, todo_rhw;
-};
-
struct hugeVertex
{
float pos_x, pos_y, pos_z, rhw;
@@ -6396,18 +6387,25 @@ static void pretransformed_varying_test(IDirect3DDevice9 *device)
};
/* sample: fails */
- struct varying_test_struct tests[] = {
- {blendweight_code, NULL, 0x00000000, 0x00191919, "blendweight" , FALSE, TRUE },
- {blendindices_code, NULL, 0x00000000, 0x00333333, "blendindices" , FALSE, TRUE },
- {normal_code, NULL, 0x00000000, 0x004c4c4c, "normal" , FALSE, TRUE },
- /* Why does dx not forward the texcoord? */
- {texcoord0_code, NULL, 0x00000000, 0x00808c8c, "texcoord0" , FALSE, FALSE },
- {tangent_code, NULL, 0x00000000, 0x00999999, "tangent" , FALSE, TRUE },
- {binormal_code, NULL, 0x00000000, 0x00b2b2b2, "binormal" , FALSE, TRUE },
- {color_code, NULL, 0x00e6e6e6, 0x00e6e6e6, "color" , FALSE, FALSE },
- {fog_code, NULL, 0x00000000, 0x00666666, "fog" , FALSE, TRUE },
- {depth_code, NULL, 0x00000000, 0x00cccccc, "depth" , FALSE, TRUE },
- {specular_code, NULL, 0x004488ff, 0x004488ff, "specular" , FALSE, FALSE }
+ static const struct
+ {
+ const char *name;
+ const DWORD *shader_code;
+ DWORD color;
+ BOOL todo;
+ }
+ tests[] =
+ {
+ {"blendweight", blendweight_code, 0x00191919, TRUE },
+ {"blendindices", blendindices_code, 0x00333333, TRUE },
+ {"normal", normal_code, 0x004c4c4c, TRUE },
+ {"texcoord0", texcoord0_code, 0x00808c8c, FALSE},
+ {"tangent", tangent_code, 0x00999999, TRUE },
+ {"binormal", binormal_code, 0x00b2b2b2, TRUE },
+ {"color", color_code, 0x00e6e6e6, FALSE},
+ {"fog", fog_code, 0x00666666, TRUE },
+ {"depth", depth_code, 0x00cccccc, TRUE },
+ {"specular", specular_code, 0x004488ff, FALSE},
};
/* Declare a monster vertex type :-) */
static const D3DVERTEXELEMENT9 decl_elements[] = {
@@ -6495,21 +6493,19 @@ static void pretransformed_varying_test(IDirect3DDevice9 *device)
hr = IDirect3DDevice9_SetVertexDeclaration(device, decl);
ok(hr == D3D_OK, "IDirect3DDevice9_SetVertexDeclaration returned %08x\n", hr);
- for(i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
- {
- hr = IDirect3DDevice9_CreatePixelShader(device, tests[i].shader_code, &tests[i].shader);
- ok(hr == D3D_OK, "IDirect3DDevice9_CreatePixelShader failed for shader %s, hr = %08x\n",
- tests[i].name, hr);
- }
-
hr = IDirect3DDevice9_SetVertexDeclaration(device, decl);
ok(hr == D3D_OK, "IDirect3DDevice9_SetVertexDeclaration returned %08x\n", hr);
- for(i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
+ for (i = 0; i < sizeof(tests) / sizeof(*tests); ++i)
{
+ IDirect3DPixelShader9 *shader;
+
hr = IDirect3DDevice9_Clear(device, 0, NULL, D3DCLEAR_TARGET, 0xffffffff, 0.0, 0);
ok(hr == D3D_OK, "IDirect3DDevice9_Clear returned %08x\n", hr);
- hr = IDirect3DDevice9_SetPixelShader(device, tests[i].shader);
+ hr = IDirect3DDevice9_CreatePixelShader(device, tests[i].shader_code, &shader);
+ ok(SUCCEEDED(hr), "Failed to create pixel shader for test %s, hr %#x.\n", tests[i].name, hr);
+
+ hr = IDirect3DDevice9_SetPixelShader(device, shader);
ok(hr == D3D_OK, "IDirect3DDevice9_SetPixelShader returned %08x\n", hr);
hr = IDirect3DDevice9_BeginScene(device);
@@ -6525,24 +6521,23 @@ static void pretransformed_varying_test(IDirect3DDevice9 *device)
/* This isn't a weekend's job to fix, ignore the problem for now.
* Needs a replacement pipeline. */
color = getPixelColor(device, 360, 240);
- if (tests[i].todo_rhw)
- todo_wine ok(color_match(color, tests[i].color_rhw, 1)
+ if (tests[i].todo)
+ todo_wine ok(color_match(color, tests[i].color, 1)
|| broken(color_match(color, 0x00000000, 1)
&& tests[i].shader_code == blendindices_code),
"Test %s returned color 0x%08x, expected 0x%08x (todo).\n",
- tests[i].name, color, tests[i].color_rhw);
+ tests[i].name, color, tests[i].color);
else
- ok(color_match(color, tests[i].color_rhw, 1),
+ ok(color_match(color, tests[i].color, 1),
"Test %s returned color 0x%08x, expected 0x%08x.\n",
- tests[i].name, color, tests[i].color_rhw);
+ tests[i].name, color, tests[i].color);
hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL);
ok(hr == D3D_OK, "IDirect3DDevice9_Present failed with %08x\n", hr);
- }
- for(i = 0; i < sizeof(tests) / sizeof(tests[0]); i++)
- {
- IDirect3DPixelShader9_Release(tests[i].shader);
+ hr = IDirect3DDevice9_SetPixelShader(device, NULL);
+ ok(SUCCEEDED(hr), "Failed to set pixel shader for test %s, hr %#x.\n", tests[i].name, hr);
+ IDirect3DPixelShader9_Release(shader);
}
IDirect3DVertexDeclaration9_Release(decl);
More information about the wine-cvs
mailing list