Hello gamedev.net,
I was struggling against a Problem with the EnumAdapter1 function of DXGI.
What I've supposed to do was to switch from my onboard chip to my nvidia geforce gt550m (laptop),
because my onboard chip is DX10.1 and it runs just fine, when reverting from DX11.
printf("Adapter: %d (%s)\n", adapterCount, m_videoCardDescription);
Shows my nvidia chip, but when trying to use this card later, it can't find Outputs:
if(FAILED(adapter->EnumOutputs(OutputCount, &adapterOutput)))
break;
Here is a snippet:
[...]
int adapterChoosen = 0;
if(adapterCount > 1) {
printf("Please select the adapter: ");
scanf("%d", &adapterChoosen);
}
else if(adapterCount == 1) {
adapterChoosen = 0;
}
else {
log(LOG_ERROR, "No suitable adapter found!");
return false;
}
if(FAILED(factory->EnumAdapters1(adapterChoosen, &adapter))) {
log(LOG_ERROR, "D3DClass::Initalize IDXGIFactory::EnumAdapters failed");
return false;
}
int OutputCount;
for(OutputCount = 0; ; OutputCount++) { //adapter->EnumOutputs(OutputIndex, &adapterOutput) == S_OK)
//printf("Output found: %d\n", OutputIndex);
if(FAILED(adapter->EnumOutputs(OutputCount, &adapterOutput)))
break;
adapterOutput->Release();
adapterOutput = 0;
}
[...]
My chip can handle DX11 as I can start other DX11 applications, which do work.
- Regards
PS: sorry for bad english