mirror of
https://github.com/obsproject/obs-studio.git
synced 2026-08-24 02:34:23 -05:00
Revert "libobs-d3d11: Default to Intel IGPU on IGPU+DGPU systems"
This reverts commit c83eaaa51c.
This commit is contained in:
@@ -364,45 +364,6 @@ void gs_device::InitFactory()
|
||||
throw UnsupportedHWError("Failed to create DXGIFactory", hr);
|
||||
}
|
||||
|
||||
#define VENDOR_ID_INTEL 0x8086
|
||||
#define IGPU_MEM (512 * 1024 * 1024)
|
||||
|
||||
void gs_device::ReorderAdapters(uint32_t &adapterIdx)
|
||||
{
|
||||
std::vector<uint32_t> adapterOrder;
|
||||
ComPtr<IDXGIAdapter> adapter;
|
||||
DXGI_ADAPTER_DESC desc;
|
||||
uint32_t iGPUIndex = 0;
|
||||
bool hasIGPU = false;
|
||||
bool hasDGPU = false;
|
||||
int idx = 0;
|
||||
|
||||
while (SUCCEEDED(factory->EnumAdapters(idx, &adapter))) {
|
||||
if (SUCCEEDED(adapter->GetDesc(&desc))) {
|
||||
if (desc.VendorId == VENDOR_ID_INTEL) {
|
||||
if (desc.DedicatedVideoMemory <= IGPU_MEM) {
|
||||
hasIGPU = true;
|
||||
iGPUIndex = (uint32_t)idx;
|
||||
} else {
|
||||
hasDGPU = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
adapterOrder.push_back((uint32_t)idx++);
|
||||
}
|
||||
|
||||
/* Intel specific adapter check for Intel integrated and Intel
|
||||
* dedicated. If both exist, then change adapter priority so that the
|
||||
* integrated comes first for the sake of improving overall
|
||||
* performance */
|
||||
if (hasIGPU && hasDGPU) {
|
||||
adapterOrder.erase(adapterOrder.begin() + iGPUIndex);
|
||||
adapterOrder.insert(adapterOrder.begin(), iGPUIndex);
|
||||
adapterIdx = adapterOrder[adapterIdx];
|
||||
}
|
||||
}
|
||||
|
||||
void gs_device::InitAdapter(uint32_t adapterIdx)
|
||||
{
|
||||
HRESULT hr = factory->EnumAdapters1(adapterIdx, &adapter);
|
||||
@@ -941,7 +902,6 @@ gs_device::gs_device(uint32_t adapterIdx)
|
||||
|
||||
InitCompiler();
|
||||
InitFactory();
|
||||
ReorderAdapters(adapterIdx);
|
||||
InitAdapter(adapterIdx);
|
||||
InitDevice(adapterIdx);
|
||||
device_set_render_target(this, NULL, NULL);
|
||||
|
||||
@@ -1049,7 +1049,6 @@ struct gs_device {
|
||||
|
||||
void InitCompiler();
|
||||
void InitFactory();
|
||||
void ReorderAdapters(uint32_t &adapterIdx);
|
||||
void InitAdapter(uint32_t adapterIdx);
|
||||
void InitDevice(uint32_t adapterIdx);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user