dxgi_adapter structure:
typedef struct dxgi_adapter { IDXGIAdapter1 *p_adapter; DXGI_ADAPTER_DESC1 m_adapter_desc; std::vector<dxgi_adapter_output> m_outputs; bool check_support(REFGUID ref_iid) const; } dxgi_adapter_t; bool dxgi_adapter::check_support(REFGUID ref_iid) const { return SUCCEEDED(p_adapter->CheckInterfaceSupport(ref_iid, nullptr)); } For reasons I do not understand, when I try to call the interface check
if(!p_helper_->primary_adapter().check_support(__uuidof(ID3D12Device))) { char buffer[255] = {0}; sprintf_s(buffer, "Primary adapter %ls does not support Direct3D 12 interface", p_helper_->primary_adapter().m_adapter_desc.Description); PRINT_MSG(buffer); p_helper_.release(); throw std::runtime_error(buffer); } Always get
[000000874492F898 (renderer)] Error: Primary adapter Radeon 550 Series does not support Direct3D 12 interface
At the same time, I know for sure that it supports this interface.
How to check the support for Direct 3D 12 Api correctly without resorting to D3D12CreateDevice call?