On 12 October 2015 at 03:17, Józef Kucia <jkucia(a)codeweavers.com> wrote:
@@ -200,9 +200,39 @@ static HRESULT STDMETHODCALLTYPE dxgi_adapter_GetDesc(IDXGIAdapter1 *iface, DXGI static HRESULT STDMETHODCALLTYPE dxgi_adapter_CheckInterfaceSupport(IDXGIAdapter1 *iface, REFGUID guid, LARGE_INTEGER *umd_version) { - FIXME("iface %p, guid %s, umd_version %p stub!\n", iface, debugstr_guid(guid), umd_version); + struct dxgi_adapter *adapter = impl_from_IDXGIAdapter1(iface); + struct wined3d_adapter_identifier adapter_id; + HRESULT hr; + + TRACE("iface %p, guid %s, umd_version %p.\n", iface, debugstr_guid(guid), umd_version); + + /* This method works only for D3D10 interfaces. */ + if (!(IsEqualGUID(guid, &IID_ID3D10Device) + || IsEqualGUID(guid, &IID_ID3D10Device1))) + { + WARN("Returning DXGI_ERROR_UNSUPPORTED for %s.\n", debugstr_guid(guid)); + return DXGI_ERROR_UNSUPPORTED; + } + + FIXME("Determine actual capabilities of adapter.\n"); Do you know what this does for hardware that doesn't support Direct3D10? Getting the capabilities isn't that hard, we already do that in dxgi_device_init(). (The wined3d_get_device_caps() call in particular.)
#include "dxgi.h" +#include "d3d10_1.h" If you include d3d10_1.h you should be able to drop dxgi.h.