From a0854362d684ccce2ba24f68e9f7707d4ba3559c Mon Sep 17 00:00:00 2001 From: Paul Gofman Date: Fri, 29 Mar 2019 13:56:37 +0300 Subject: [PATCH] d3d9/tests: Test specular lighting with zero shininess. Signed-off-by: Paul Gofman Signed-off-by: Henri Verbeet Signed-off-by: Alexandre Julliard --- dlls/d3d9/tests/visual.c | 68 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c index 0ce994820e3..8be58bfc63f 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -800,7 +800,68 @@ 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 { const D3DLIGHT9 *light; @@ -819,6 +880,13 @@ static void test_specular_lighting(void) {&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)}, }; IDirect3DDevice9 *device; D3DMATERIAL9 material;