ddraw/tests: Test specular lighting with zero shininess in ddraw7.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Paul Gofman 2019-03-29 13:56:39 +03:00 committed by Alexandre Julliard
parent aaf3ea3d9f
commit ce316dfd5f
1 changed files with 74 additions and 7 deletions

View File

@ -4005,6 +4005,66 @@ static void test_specular_lighting(void)
{160, 360, 0x00000000},
{320, 360, 0x00000000},
{480, 360, 0x00000000},
},
expected_directional_0[] =
{
{160, 120, 0x00ffffff},
{320, 120, 0x00ffffff},
{480, 120, 0x00ffffff},
{160, 240, 0x00ffffff},
{320, 240, 0x00ffffff},
{480, 240, 0x00ffffff},
{160, 360, 0x00ffffff},
{320, 360, 0x00ffffff},
{480, 360, 0x00ffffff},
},
expected_directional_local_0[] =
{
{160, 120, 0x00ffffff},
{320, 120, 0x00ffffff},
{480, 120, 0x00ffffff},
{160, 240, 0x00ffffff},
{320, 240, 0x00ffffff},
{480, 240, 0x00ffffff},
{160, 360, 0x00ffffff},
{320, 360, 0x00ffffff},
{480, 360, 0x00ffffff},
},
expected_point_0[] =
{
{160, 120, 0x00aaaaaa},
{320, 120, 0x00cccccc},
{480, 120, 0x00aaaaaa},
{160, 240, 0x00cccccc},
{320, 240, 0x00ffffff},
{480, 240, 0x00cccccc},
{160, 360, 0x00aaaaaa},
{320, 360, 0x00cccccc},
{480, 360, 0x00aaaaaa},
},
expected_spot_0[] =
{
{160, 120, 0x00000000},
{320, 120, 0x002e2e2e},
{480, 120, 0x00000000},
{160, 240, 0x002e2e2e},
{320, 240, 0x00ffffff},
{480, 240, 0x002e2e2e},
{160, 360, 0x00000000},
{320, 360, 0x002e2e2e},
{480, 360, 0x00000000},
},
expected_point_range_0[] =
{
{160, 120, 0x00000000},
{320, 120, 0x00cccccc},
{480, 120, 0x00000000},
{160, 240, 0x00cccccc},
{320, 240, 0x00ffffff},
{480, 240, 0x00cccccc},
{160, 360, 0x00000000},
{320, 360, 0x00cccccc},
{480, 360, 0x00000000},
};
static const struct
{
@ -4016,14 +4076,21 @@ static void test_specular_lighting(void)
}
tests[] =
{
{&directional, FALSE, 30.0f, expected_directional, ARRAY_SIZE(expected_directional)},
{&directional, FALSE, 30.0f, expected_directional, ARRAY_SIZE(expected_directional)},
{&directional, TRUE, 30.0f, expected_directional_local, ARRAY_SIZE(expected_directional_local)},
{&point, FALSE, 30.0f, expected_point, ARRAY_SIZE(expected_point)},
{&point, TRUE, 30.0f, expected_point_local, ARRAY_SIZE(expected_point_local)},
{&spot, FALSE, 30.0f, expected_spot, ARRAY_SIZE(expected_spot)},
{&spot, TRUE, 30.0f, expected_spot_local, ARRAY_SIZE(expected_spot_local)},
{&point_range, FALSE, 30.0f, expected_point_range, ARRAY_SIZE(expected_point_range)},
{&point_side, TRUE, 0.0f, expected_point_side, ARRAY_SIZE(expected_point_side)},
{&point, FALSE, 30.0f, expected_point, ARRAY_SIZE(expected_point)},
{&point, TRUE, 30.0f, expected_point_local, ARRAY_SIZE(expected_point_local)},
{&spot, FALSE, 30.0f, expected_spot, ARRAY_SIZE(expected_spot)},
{&spot, TRUE, 30.0f, expected_spot_local, ARRAY_SIZE(expected_spot_local)},
{&point_range, FALSE, 30.0f, expected_point_range, ARRAY_SIZE(expected_point_range)},
{&point_side, TRUE, 0.0f, expected_point_side, ARRAY_SIZE(expected_point_side)},
{&directional, FALSE, 0.0f, expected_directional_0, ARRAY_SIZE(expected_directional_0)},
{&directional, TRUE, 0.0f, expected_directional_local_0, ARRAY_SIZE(expected_directional_local_0)},
{&point, FALSE, 0.0f, expected_point_0, ARRAY_SIZE(expected_point_0)},
{&point, TRUE, 0.0f, expected_point_0, ARRAY_SIZE(expected_point_0)},
{&spot, FALSE, 0.0f, expected_spot_0, ARRAY_SIZE(expected_spot_0)},
{&spot, TRUE, 0.0f, expected_spot_0, ARRAY_SIZE(expected_spot_0)},
{&point_range, FALSE, 0.0f, expected_point_range_0, ARRAY_SIZE(expected_point_range_0)},
};
IDirect3DDevice7 *device;
IDirectDrawSurface7 *rt;