[PATCH v3 1/5] d3d11/tests: Add tests for D3D11_FORMAT_SUPPORT_BLENDABLE.

Zebediah Figura wine at gitlab.winehq.org
Thu Jun 23 18:08:59 CDT 2022


From: Zebediah Figura <zfigura at 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);
 }
-- 
GitLab


https://gitlab.winehq.org/wine/wine/-/merge_requests/255



More information about the wine-devel mailing list