diff --git a/src/gui/rhi/qrhid3d12.cpp b/src/gui/rhi/qrhid3d12.cpp index 745e55d76e8..9fa5d345028 100644 --- a/src/gui/rhi/qrhid3d12.cpp +++ b/src/gui/rhi/qrhid3d12.cpp @@ -292,14 +292,20 @@ bool QRhiD3D12::create(QRhi::Flags flags) for (int adapterIndex = 0; dxgiFactory->EnumAdapters1(UINT(adapterIndex), &adapter) != DXGI_ERROR_NOT_FOUND; ++adapterIndex) { DXGI_ADAPTER_DESC1 desc; adapter->GetDesc1(&desc); - adapter->Release(); if (desc.AdapterLuid.LowPart == adapterLuid.LowPart && desc.AdapterLuid.HighPart == adapterLuid.HighPart) { + activeAdapter = adapter; QRhiD3D::fillDriverInfo(&driverInfoStruct, desc); break; + } else { + adapter->Release(); } } + if (!activeAdapter) { + qWarning("No adapter"); + return false; + } qCDebug(QRHI_LOG_INFO, "Using imported device %p", dev); }