private void GetHardwareAdapter(IDXGIAdapter1 **ppAdapter) { using ComPtr <IDXGIAdapter1> adapter = null; *ppAdapter = null; for (uint adapterIndex = 0; DXGI_ERROR_NOT_FOUND != _dxgiFactory.Ptr->EnumAdapters1(adapterIndex, adapter.GetAddressOf()); adapterIndex++) { DXGI_ADAPTER_DESC1 desc; adapter.Ptr->GetDesc1(&desc); if (((DXGI_ADAPTER_FLAG)desc.Flags & DXGI_ADAPTER_FLAG.DXGI_ADAPTER_FLAG_SOFTWARE) != 0) { continue; } Guid iid = D3D12.IID_ID3D12Device; if (SUCCEEDED(D3D12.D3D12CreateDevice(adapter, D3D_FEATURE_LEVEL.D3D_FEATURE_LEVEL_11_0, &iid, null))) { Debug.WriteLine(new string(desc.Description)); break; } } *ppAdapter = adapter.Detach(); }
public int EnumAdapters1([NativeTypeName("UINT")] uint Adapter, [NativeTypeName("IDXGIAdapter1 **")] IDXGIAdapter1 **ppAdapter) { return(((delegate * unmanaged <IDXGIFactory1 *, uint, IDXGIAdapter1 **, int>)(lpVtbl[12]))((IDXGIFactory1 *)Unsafe.AsPointer(ref this), Adapter, ppAdapter)); }
public HRESULT EnumAdapters1(uint Adapter, IDXGIAdapter1 **ppAdapter) { return(((delegate * unmanaged <IDXGIFactory4 *, uint, IDXGIAdapter1 **, int>)(lpVtbl[12]))((IDXGIFactory4 *)Unsafe.AsPointer(ref this), Adapter, ppAdapter)); }