For React Native.
-- v2: d3d11: Implement D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT feature check.
From: Zhiyi Zhang zzhang@codeweavers.com
--- dlls/d3d11/tests/d3d11.c | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 3e9ccc42e33..76884a7e787 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -19687,6 +19687,7 @@ static void test_null_sampler(void)
static void test_check_feature_support(void) { + D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT d3d9si; D3D11_FEATURE_DATA_THREADING threading[2]; D3D11_FEATURE_DATA_D3D10_X_HARDWARE_OPTIONS hwopts; D3D11_FEATURE_DATA_ARCHITECTURE_INFO archinfo; @@ -19755,6 +19756,10 @@ static void test_check_feature_support(void) ok(hr == E_INVALIDARG /* Not available on all Windows versions but they will return E_INVALIDARG anyways. */, "Got unexpected hr %#lx.\n", hr);
+ hr = ID3D11Device_CheckFeatureSupport(device, D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT, &d3d9si, sizeof(d3d9si)); + todo_wine + ok(hr == S_OK || broken(hr == E_INVALIDARG) /* Win 7 */, "Got unexpected hr %#lx.\n", hr); + refcount = ID3D11Device_Release(device); ok(!refcount, "Device has %lu references left.\n", refcount); }
From: Zhiyi Zhang zzhang@codeweavers.com
--- dlls/d3d11/device.c | 13 +++++++++++++ dlls/d3d11/tests/d3d11.c | 1 - 2 files changed, 13 insertions(+), 1 deletion(-)
diff --git a/dlls/d3d11/device.c b/dlls/d3d11/device.c index 2c6e4f4654c..b3e88033d26 100644 --- a/dlls/d3d11/device.c +++ b/dlls/d3d11/device.c @@ -4783,6 +4783,19 @@ static HRESULT STDMETHODCALLTYPE d3d11_device_CheckFeatureSupport(ID3D11Device2 return d3d11_device_CheckFormatSupport(iface, data->InFormat, &data->OutFormatSupport); }
+ case D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT: + { + D3D11_FEATURE_DATA_D3D9_SIMPLE_INSTANCING_SUPPORT *data = feature_support_data; + if (feature_support_data_size != sizeof(*data)) + { + WARN("Invalid size %u for D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT.\n", feature_support_data_size); + return E_INVALIDARG; + } + + data->SimpleInstancingSupported = FALSE; + return S_OK; + } + default: FIXME("Unhandled feature %#x.\n", feature); return E_NOTIMPL; diff --git a/dlls/d3d11/tests/d3d11.c b/dlls/d3d11/tests/d3d11.c index 76884a7e787..8436e2a1ef5 100644 --- a/dlls/d3d11/tests/d3d11.c +++ b/dlls/d3d11/tests/d3d11.c @@ -19757,7 +19757,6 @@ static void test_check_feature_support(void) "Got unexpected hr %#lx.\n", hr);
hr = ID3D11Device_CheckFeatureSupport(device, D3D11_FEATURE_D3D9_SIMPLE_INSTANCING_SUPPORT, &d3d9si, sizeof(d3d9si)); - todo_wine ok(hr == S_OK || broken(hr == E_INVALIDARG) /* Win 7 */, "Got unexpected hr %#lx.\n", hr);
refcount = ID3D11Device_Release(device);
This merge request was closed by Zhiyi Zhang.