Paul Gofman : d3d9/tests: Do not use NVIDIA mode in test_alpha_to_coverage() if the reported GPU is AMD.

Alexandre Julliard julliard at winehq.org
Tue Feb 18 16:13:48 CST 2020


Module: wine
Branch: master
Commit: ddd5dbd8e945934c619ea290f3a4618b8a5c4412
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=ddd5dbd8e945934c619ea290f3a4618b8a5c4412

Author: Paul Gofman <gofmanp at gmail.com>
Date:   Tue Feb 18 20:40:07 2020 +0330

d3d9/tests: Do not use NVIDIA mode in test_alpha_to_coverage() if the reported GPU is AMD.

Otherwise, if Wine exposes the ATOC format the test will always trigger the
NVIDIA path regardless of the reported GPU.

Signed-off-by: Paul Gofman <gofmanp at gmail.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3d9/tests/visual.c | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
index 7379d5db5a..cb84ef6f28 100644
--- a/dlls/d3d9/tests/visual.c
+++ b/dlls/d3d9/tests/visual.c
@@ -26591,19 +26591,20 @@ static void test_alpha_to_coverage(void)
         return;
     }
 
-    if (IDirect3D9_CheckDeviceFormat(d3d, 0, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, 0,
-            D3DRTYPE_SURFACE, MAKEFOURCC('A','T','O','C')) == D3D_OK)
+
+    hr = IDirect3D9_GetAdapterIdentifier(d3d, D3DADAPTER_DEFAULT, 0, &identifier);
+    ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
+
+    if (adapter_is_amd(&identifier))
     {
-        /* ATOC pseudo format is introduced by Nvidia. Some Intel GPUs support
-         * alpha to coverage the same way as Nvidia. */
-        nvidia_mode = TRUE;
+        nvidia_mode = FALSE;
     }
     else
     {
-        nvidia_mode = FALSE;
-        hr = IDirect3D9_GetAdapterIdentifier(d3d, D3DADAPTER_DEFAULT, 0, &identifier);
-        ok(hr == D3D_OK, "Got unexpected hr %#x.\n", hr);
-        if (!adapter_is_amd(&identifier))
+        /* The ATOC pseudo format is introduced by NVIDIA. Some Intel GPUs
+         * support alpha to coverage the same way as NVIDIA. */
+        if (IDirect3D9_CheckDeviceFormat(d3d, 0, D3DDEVTYPE_HAL, D3DFMT_X8R8G8B8, 0,
+                D3DRTYPE_SURFACE, MAKEFOURCC('A','T','O','C')) != D3D_OK)
         {
             win_skip("Alpha to coverage is not supported.\n");
             refcount = IDirect3DDevice9_Release(device);
@@ -26612,6 +26613,7 @@ static void test_alpha_to_coverage(void)
             DestroyWindow(window);
             return;
         }
+        nvidia_mode = TRUE;
     }
 
     hr = IDirect3DDevice9_CreateRenderTarget(device, 128, 128,




More information about the wine-cvs mailing list