From: Zebediah Figura zfigura@codeweavers.com
--- dlls/d3d11/tests/d3d11.c | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 345a87c4194..2a2a3d714b8 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -20771,7 +20771,7 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE
if (formats[i].fl_required <= feature_level) { - todo_wine_if (feature_flag == D3D11_FORMAT_SUPPORT_DISPLAY) + todo_wine_if (feature_flag == D3D11_FORMAT_SUPPORT_DISPLAY || feature_flag == D3D11_FORMAT_SUPPORT_BLENDABLE) ok(supported, "Format %#x - %s not supported, feature_level %#x, format support %#x.\n", format, feature_name, feature_level, format_support[format]); continue; @@ -20785,7 +20785,7 @@ static void check_format_support(const unsigned int *format_support, D3D_FEATURE continue; }
- todo_wine_if (feature_flag != D3D11_FORMAT_SUPPORT_DISPLAY) + todo_wine_if (feature_flag != D3D11_FORMAT_SUPPORT_DISPLAY && feature_flag != D3D11_FORMAT_SUPPORT_BLENDABLE) ok(!supported, "Format %#x - %s supported, feature level %#x, format support %#x.\n", format, feature_name, feature_level, format_support[format]); } @@ -20814,6 +20814,39 @@ static void test_format_support(const D3D_FEATURE_LEVEL feature_level) {DXGI_FORMAT_R16_FLOAT, D3D_FEATURE_LEVEL_10_0}, };
+ static const struct format_support blend[] = + { + {DXGI_FORMAT_R16G16B16A16_UNORM, D3D_FEATURE_LEVEL_10_1, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R16G16_UNORM, D3D_FEATURE_LEVEL_10_1, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R16_UNORM, D3D_FEATURE_LEVEL_10_1, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R16G16B16A16_SNORM, D3D_FEATURE_LEVEL_10_1}, + {DXGI_FORMAT_R16G16_SNORM, D3D_FEATURE_LEVEL_10_1}, + {DXGI_FORMAT_R16_SNORM, D3D_FEATURE_LEVEL_10_1}, + {DXGI_FORMAT_R8G8B8A8_SNORM, D3D_FEATURE_LEVEL_10_1}, + {DXGI_FORMAT_R8G8_SNORM, D3D_FEATURE_LEVEL_10_1}, + {DXGI_FORMAT_R8_SNORM, D3D_FEATURE_LEVEL_10_1}, + + {DXGI_FORMAT_R32G32B32A32_FLOAT, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R32G32_FLOAT, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R32_FLOAT, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R10G10B10A2_UNORM, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R11G11B10_FLOAT, D3D_FEATURE_LEVEL_10_0}, + {DXGI_FORMAT_R16_FLOAT, D3D_FEATURE_LEVEL_10_0}, + + {DXGI_FORMAT_R16G16B16A16_FLOAT, D3D_FEATURE_LEVEL_9_3}, + + {DXGI_FORMAT_R8G8B8A8_UNORM, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_R8G8B8A8_UNORM_SRGB, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_R8G8_UNORM, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_R8_UNORM, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_A8_UNORM, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_B5G6R5_UNORM, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_B8G8R8A8_UNORM, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_B8G8R8X8_UNORM, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_B8G8R8A8_UNORM_SRGB, D3D_FEATURE_LEVEL_9_1}, + {DXGI_FORMAT_B8G8R8X8_UNORM_SRGB, D3D_FEATURE_LEVEL_9_1}, + }; + device_desc.feature_level = &feature_level; device_desc.flags = 0; if (!(device = create_device(&device_desc))) @@ -20887,6 +20920,9 @@ static void test_format_support(const D3D_FEATURE_LEVEL feature_level) display_format_support, ARRAY_SIZE(display_format_support), D3D11_FORMAT_SUPPORT_DISPLAY, "display");
+ check_format_support(format_support, feature_level, blend, ARRAY_SIZE(blend), + D3D11_FORMAT_SUPPORT_BLENDABLE, "blendable"); + refcount = ID3D11Device_Release(device); ok(!refcount, "Device has %lu references left.\n", refcount); }