Shows whether the resolve happens in the right color space.
Signed-off-by: Jan Sikorski <jsikorski(a)codeweavers.com>
---
dlls/d3d11/tests/d3d11.c | 48 ++++++++++++++++++++++------------------
1 file changed, 26 insertions(+), 22 deletions(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c
index f6ba0b16748..c499aa5f75b 100644
--- a/dlls/d3d11/tests/d3d11.c
+++ b/dlls/d3d11/tests/d3d11.c
@@ -30309,105 +30309,105 @@ static void test_multisample_resolve(void)
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &green, 0xff00ff00},
+ &green, 0xff80ff80},
{DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &green, 0xff00ff00},
+ &green, 0xffbcffbc},
{DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &color, 0xffbf7f40},
+ &color, 0xffdfc0a0},
{DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &color, 0xffe1bc89},
+ &color, 0xfff1e1cf},
{DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &green, 0xff00ff00},
+ &green, 0xffbcffbc, TRUE},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &green, 0xff00ff00},
+ &green, 0xffbcffbc, TRUE},
{DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &color, 0xffe1bc89, TRUE},
+ &color, 0xfff1e1cf, TRUE},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &color, 0xffe1bc89},
+ &color, 0xfff1e1cf, TRUE},
{DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &green, 0xff00ff00},
+ &green, 0xff80ff80},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &green, 0xff00ff00},
+ &green, 0xff80ff80},
{DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &color, 0xffbf7f40},
+ &color, 0xffdfc0a0},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &color, 0xffbf7f40},
+ &color, 0xffdfc0a0},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &green, 0xff00ff00},
+ &green, 0xff80ff80},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &color, 0xffbf7f40},
+ &color, 0xffdfc0a0},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &green, 0xff00ff00},
+ &green, 0xffbcffbc, TRUE},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &color, 0xffe1bc89},
+ &color, 0xfff1e1cf, TRUE},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &green, 0xff00ff00},
+ &green, 0xff80ff80},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
- &color, 0xffe1bc89},
+ &color, 0xfff0dec4},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &green, 0xff00ff00},
+ &green, 0xffbcffbc, TRUE},
{DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_TYPELESS,
DXGI_FORMAT_R8G8B8A8_UNORM_SRGB,
DXGI_FORMAT_R8G8B8A8_UNORM,
- &color, 0xffbf7f40},
+ &color, 0xffe2cdc0, TRUE},
};
if (!init_test_context(&test_context, NULL))
@@ -30424,6 +30424,8 @@ static void test_multisample_resolve(void)
return;
}
+ ID3D11DeviceContext_OMSetBlendState(context, NULL, NULL, 3);
+
for (i = 0; i < ARRAY_SIZE(tests); ++i)
{
ID3D11Texture2D_GetDesc(test_context.backbuffer, &texture_desc);
@@ -30446,8 +30448,10 @@ static void test_multisample_resolve(void)
draw_color_quad(&test_context, tests[i].color);
ID3D11DeviceContext_ResolveSubresource(context, (ID3D11Resource *)texture, 0,
(ID3D11Resource *)ms_texture, 0, tests[i].format);
- todo_wine_if(tests[i].todo)
- check_texture_color(texture, tests[i].expected_color, 2);
+
+ /* Found broken on AMD Radeon HD 6310 */
+ if (!broken(is_amd_device(device) && tests[i].format == DXGI_FORMAT_R8G8B8A8_UNORM_SRGB))
+ todo_wine_if(tests[i].todo) check_texture_color(texture, tests[i].expected_color, 2);
ID3D11RenderTargetView_Release(rtv);
ID3D11Texture2D_Release(ms_texture);
--
2.31.0