From: Zebediah Figura zfigura@codeweavers.com
For some arcane reason the native AMD driver on Windows seems to fail to clear (or read from?) layer 0. Work around that by using 0.0 there. --- dlls/d3d10core/tests/d3d10core.c | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/dlls/d3d10core/tests/d3d10core.c b/dlls/d3d10core/tests/d3d10core.c index 6aad99faaaf..5a915125180 100644 --- a/dlls/d3d10core/tests/d3d10core.c +++ b/dlls/d3d10core/tests/d3d10core.c @@ -8428,7 +8428,7 @@ static void test_sample_c_lz(void) 0x0020800a, 0x00000000, 0x00000000, 0x05000036, 0x001020f2, 0x00000000, 0x00100006, 0x00000000, 0x0100003e, }; - static const float depth_values[] = {1.0f, 0.0f, 0.5f, 0.6f, 0.4f, 0.1f}; + static const float depth_values[] = {0.0f, 1.0f, 0.5f, 0.6f, 0.4f, 0.1f}; static const struct { unsigned int layer; @@ -8437,8 +8437,8 @@ static void test_sample_c_lz(void) } tests[] = { - {0, 0.5f, 0.0f}, - {1, 0.5f, 1.0f}, + {0, 0.5f, 1.0f}, + {1, 0.5f, 0.0f}, {2, 0.5f, 0.0f}, {3, 0.5f, 0.0f}, {4, 0.5f, 1.0f}, @@ -8451,8 +8451,8 @@ static void test_sample_c_lz(void) {4, 0.0f, 0.0f}, {5, 0.0f, 0.0f},
- {0, 1.0f, 0.0f}, - {1, 1.0f, 1.0f}, + {0, 1.0f, 1.0f}, + {1, 1.0f, 0.0f}, {2, 1.0f, 1.0f}, {3, 1.0f, 1.0f}, {4, 1.0f, 1.0f}, @@ -8539,6 +8539,8 @@ static void test_sample_c_lz(void)
for (i = 0; i < ARRAY_SIZE(tests); ++i) { + winetest_push_context("Layer %u, ref %f", tests[i].layer, tests[i].d_ref); + ps_constant.x = tests[i].d_ref; ps_constant.y = tests[i].layer; ID3D10Device_UpdateSubresource(device, (ID3D10Resource *)cb, 0, @@ -8548,6 +8550,8 @@ static void test_sample_c_lz(void) /* Avoid testing values affected by seamless cube map filtering. */ SetRect(&rect, 100, 100, 540, 380); check_texture_sub_resource_float(rt_texture, 0, &rect, tests[i].expected, 2); + + winetest_pop_context(); }
ID3D10Texture2D_Release(texture);