Skip to content

Commit 50a5f12

Browse files
authored
Refactor GPU detection logic and improve output formatting
1 parent 6427d49 commit 50a5f12

1 file changed

Lines changed: 8 additions & 27 deletions

File tree

src/gpu/gpu_detection.cpp

Lines changed: 8 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,9 @@ bool DetectDisplayGPU(GpuState& outState)
1313
{
1414
IDXGIFactory1* factory = nullptr;
1515
if (FAILED(CreateDXGIFactory1(__uuidof(IDXGIFactory1), (void**)&factory)))
16-
{
17-
LogError(L"Failed to create DXGI factory for display GPU detection.");
1816
return false;
19-
}
2017

2118
IDXGIAdapter1* adapter = nullptr;
22-
bool found = false;
2319

2420
for (UINT i = 0; factory->EnumAdapters1(i, &adapter) != DXGI_ERROR_NOT_FOUND; ++i)
2521
{
@@ -31,22 +27,18 @@ bool DetectDisplayGPU(GpuState& outState)
3127
{
3228
outState.name = desc.Description;
3329
outState.vendor = desc.VendorId;
34-
found = true;
3530
}
3631

3732
output->Release();
3833
adapter->Release();
39-
break;
34+
factory->Release();
35+
return true;
4036
}
4137
adapter->Release();
4238
}
4339

4440
factory->Release();
45-
46-
if (!found)
47-
LogError(L"No display GPU detected.");
48-
49-
return found;
41+
return false;
5042
}
5143

5244
bool DetectRenderGPU(GpuState& outState)
@@ -68,10 +60,7 @@ bool DetectRenderGPU(GpuState& outState)
6860
);
6961

7062
if (FAILED(hr))
71-
{
72-
LogError(L"Failed to create D3D11 device for render GPU detection.");
7363
return false;
74-
}
7564

7665
IDXGIDevice* dxgiDevice = nullptr;
7766
IDXGIAdapter* adapter = nullptr;
@@ -85,16 +74,12 @@ bool DetectRenderGPU(GpuState& outState)
8574
if (dxgiDevice) dxgiDevice->Release();
8675

8776
if (!adapter)
88-
{
89-
LogError(L"Failed to get DXGI adapter from D3D11 device.");
9077
return false;
91-
}
9278

9379
DXGI_ADAPTER_DESC desc;
9480
if (FAILED(adapter->GetDesc(&desc)))
9581
{
9682
adapter->Release();
97-
LogError(L"Failed to get DXGI adapter description for render GPU.");
9883
return false;
9984
}
10085

@@ -110,17 +95,13 @@ std::wstring BuildGpuTooltip(const GpuState& display, const GpuState& render)
11095
{
11196
std::wstringstream ss;
11297

113-
if (display.vendor != 0)
114-
ss << L"Display GPU: " << display.name << L"\n";
115-
else
116-
ss << L"Display GPU: <unknown>\n";
98+
ss << L"Display GPU: "
99+
<< (display.vendor ? display.name : L"<unknown>") << L"\n";
117100

118-
if (render.vendor != 0)
119-
ss << L"Render GPU: " << render.name << L"\n";
120-
else
121-
ss << L"Render GPU: <unknown>\n";
101+
ss << L"Render GPU: "
102+
<< (render.vendor ? render.name : L"<unknown>") << L"\n";
122103

123-
if (display.vendor != 0 && render.vendor != 0 && display.vendor != render.vendor)
104+
if (display.vendor && render.vendor && display.vendor != render.vendor)
124105
ss << L"Active desktop rendering: " << render.name << L"\n";
125106

126107
return ss.str();

0 commit comments

Comments
 (0)