=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: d3d9/tests: Windows 10 17.09 added an undocumented query type.

Alexandre Julliard julliard at winehq.org
Tue Nov 7 15:30:20 CST 2017


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

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Nov  6 19:03:39 2017 +0100

d3d9/tests: Windows 10 17.09 added an undocumented query type.

Signed-off-by: Stefan Dösinger <stefan at codeweavers.com>
Signed-off-by: Henri Verbeet <hverbeet at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/d3d9/query.c        | 6 +++++-
 dlls/d3d9/tests/device.c | 4 +++-
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/dlls/d3d9/query.c b/dlls/d3d9/query.c
index 335a960..df7eb6e 100644
--- a/dlls/d3d9/query.c
+++ b/dlls/d3d9/query.c
@@ -187,7 +187,11 @@ HRESULT query_init(struct d3d9_query *query, struct d3d9_device *device, D3DQUER
 
     if (type > D3DQUERYTYPE_MEMORYPRESSURE)
     {
-        WARN("Invalid query type %#x.\n", type);
+        if (type == 0x16)
+            FIXME("Undocumented query %#x created.\n", type);
+        else
+            WARN("Invalid query type %#x.\n", type);
+
         return D3DERR_NOTAVAILABLE;
     }
 
diff --git a/dlls/d3d9/tests/device.c b/dlls/d3d9/tests/device.c
index 8f9985c..82ced83 100644
--- a/dlls/d3d9/tests/device.c
+++ b/dlls/d3d9/tests/device.c
@@ -5561,7 +5561,9 @@ static void test_query_support(void)
 
     for (i = 0; i < 40; ++i)
     {
-        if (D3DQUERYTYPE_VCACHE <= i && i <= D3DQUERYTYPE_MEMORYPRESSURE)
+        /* Windows 10 17.09 (build 16299.19) added an undocumented query with an enum value of 0x16 (=22).
+         * It returns D3D_OK when asking for support and E_FAIL when trying to actually create it. */
+        if ((D3DQUERYTYPE_VCACHE <= i && i <= D3DQUERYTYPE_MEMORYPRESSURE) || i == 0x16)
             continue;
 
         hr = IDirect3DDevice9_CreateQuery(device, i, NULL);




More information about the wine-cvs mailing list