mirror of
https://gitlab.winehq.org/wine/vkd3d.git
synced 2024-11-21 16:46:41 -08:00
tests: Mark a sampling test as buggy on llvmpipe.
Vulkan doesn't mandate whether sampling exactly in the middle between two levels should resolve to one or the other, while D3D specifies that it should result into sampling the higher level. llvmpipe happens to choose the lower one instead, at least in some cases.
This commit is contained in:
parent
773e1bbeae
commit
3c86094371
Notes:
Henri Verbeet
2024-10-21 18:42:16 +02:00
Approved-by: Giovanni Mascellani (@giomasce) Approved-by: Henri Verbeet (@hverbeet) Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/1197
@ -14180,6 +14180,7 @@ static void test_sample_instructions(void)
|
|||||||
float ps_constants[4];
|
float ps_constants[4];
|
||||||
const unsigned int *expected_data;
|
const unsigned int *expected_data;
|
||||||
bool bug_on_mvk;
|
bool bug_on_mvk;
|
||||||
|
bool bug_on_llvmpipe;
|
||||||
}
|
}
|
||||||
tests[] =
|
tests[] =
|
||||||
{
|
{
|
||||||
@ -14209,7 +14210,7 @@ static void test_sample_instructions(void)
|
|||||||
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {-1.0f}, rgba_level_0},
|
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {-1.0f}, rgba_level_0},
|
||||||
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.0f}, rgba_level_0},
|
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.0f}, rgba_level_0},
|
||||||
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.4f}, rgba_level_0},
|
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.4f}, rgba_level_0},
|
||||||
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.5f}, level_1_colors, true},
|
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.5f}, level_1_colors, true, true},
|
||||||
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.6f}, level_1_colors},
|
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {0.6f}, level_1_colors},
|
||||||
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {1.0f}, level_1_colors},
|
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {1.0f}, level_1_colors},
|
||||||
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {1.4f}, level_1_colors},
|
{&ps_sample_l, &rgba_texture, POINT, 0.0f, 0.0f, MIP_MAX, {1.4f}, level_1_colors},
|
||||||
@ -14359,6 +14360,7 @@ static void test_sample_instructions(void)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
bug_if(tests[i].bug_on_mvk && is_mvk_device(device))
|
bug_if(tests[i].bug_on_mvk && is_mvk_device(device))
|
||||||
|
bug_if(tests[i].bug_on_llvmpipe && is_llvmpipe_device(device))
|
||||||
ok(!fail, "Got color 0x%08x, expected 0x%08x at (%u, %u).\n",
|
ok(!fail, "Got color 0x%08x, expected 0x%08x at (%u, %u).\n",
|
||||||
color, tests[i].expected_data[tests[i].texture->width * y + x], x, y);
|
color, tests[i].expected_data[tests[i].texture->width * y + x], x, y);
|
||||||
release_resource_readback(&rb);
|
release_resource_readback(&rb);
|
||||||
|
Loading…
Reference in New Issue
Block a user