d3d9/tests: Get rid of some unused test data in pretransformed_varying_test().

This commit is contained in:
Henri Verbeet 2013-11-01 09:41:00 +01:00 committed by Alexandre Julliard
parent 532f17bce0
commit 88971aa17d
1 changed files with 34 additions and 39 deletions

View File

@ -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);