Dmitry Timoshkov : d3d11: Handle D3D11_FEATURE_D3D9_OPTIONS in d3d11_device_CheckFeatureSupport().

Alexandre Julliard julliard at winehq.org
Thu Dec 9 15:34:29 CST 2021


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

Author: Dmitry Timoshkov <dmitry at baikal.ru>
Date:   Thu Dec  9 17:45:16 2021 +0100

d3d11: Handle D3D11_FEATURE_D3D9_OPTIONS in d3d11_device_CheckFeatureSupport().

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

---

 dlls/d3d11/device.c | 22 ++++++++++++++++++++++
 1 file changed, 22 insertions(+)

diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c
index 417638bf314..546449037ce 100644
--- a/dlls/d3d11/device.c
+++ b/dlls/d3d11/device.c
@@ -3941,6 +3941,28 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2
             return S_OK;
         }
 
+        case D3D11_FEATURE_D3D9_OPTIONS:
+        {
+            D3D11_FEATURE_DATA_D3D9_OPTIONS *options = feature_support_data;
+            if (feature_support_data_size != sizeof(*options))
+            {
+                WARN("Invalid data size.\n");
+                return E_INVALIDARG;
+            }
+
+            wined3d_mutex_lock();
+            hr = wined3d_device_get_device_caps(device->wined3d_device, &wined3d_caps);
+            wined3d_mutex_unlock();
+            if (FAILED(hr))
+            {
+                WARN("Failed to get device caps, hr %#x.\n", hr);
+                return hr;
+            }
+
+            options->FullNonPow2TextureSupport = !(wined3d_caps.TextureCaps & WINED3DPTEXTURECAPS_POW2);
+            return S_OK;
+        }
+
         case D3D11_FEATURE_D3D10_X_HARDWARE_OPTIONS:
         {
             D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS *options = feature_support_data;




More information about the wine-cvs mailing list