d3d8/tests: Accept alpha channel differences in shadow_test.

Signed-off-by: Stefan Dösinger <stefan@codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Stefan Dösinger 2017-04-21 17:01:52 +02:00 committed by Alexandre Julliard
parent 2303b5a896
commit 688493bb3c
1 changed files with 5 additions and 1 deletions

View File

@ -4069,7 +4069,11 @@ static void shadow_test(void)
for (j = 0; j < sizeof(expected_colors) / sizeof(*expected_colors); ++j)
{
D3DCOLOR color = get_readback_color(&rb, expected_colors[j].x, expected_colors[j].y);
ok(color_match(color, expected_colors[j].color, 0),
/* Geforce 7 on Windows returns 1.0 in alpha when the depth format is D24S8 or D24X8,
* whereas other GPUs (all AMD, newer Nvidia) return the same value they return in .rgb.
* Accept alpha mismatches as broken but make sure to check the color channels. */
ok(color_match(color, expected_colors[j].color, 0)
|| broken(color_match(color & 0x00ffffff, expected_colors[j].color & 0x00ffffff, 0)),
"Expected color 0x%08x at (%u, %u) for format %s, got 0x%08x.\n",
expected_colors[j].color, expected_colors[j].x, expected_colors[j].y,
formats[i].name, color);