Dmitry Kozlov
Dmitry Kozlov

Reputation: 33

Empty outputInfoList for second graphic card

I have two discrete video adapters on my PC: GTX 1060 and RTX 2080 ti. I would like to use second one for my DXUT app. I found command line argument -adapter# to specify it, however, my program crashed when I run with -adapter1 (1 is adapter ordinal for RTX2080) option. I started debugging and figured out the following issue: EnumOutputs returns only DXGI_ERROR_NOT_FOUND.

For GTX1060 first EnumOutputs call returns correct output.

Code section:

HRESULT CD3D11Enumeration::EnumerateOutputs( _In_ CD3D11EnumAdapterInfo* pAdapterInfo )
{
    HRESULT hr;
    IDXGIOutput* pOutput;

    for( int iOutput = 0; ; ++iOutput )
    {
        pOutput = nullptr;
        //next line returns at once DXGI_ERROR_NOT_FOUND for RTX2080
        hr = pAdapterInfo->m_pAdapter->EnumOutputs( iOutput, &pOutput ); 
        if( DXGI_ERROR_NOT_FOUND == hr )
        {
            return S_OK;
        }
        ...
}
        hr = EnumerateOutputs( pAdapterInfo );
        if( FAILED( hr ) || pAdapterInfo->outputInfoList.empty() ) //failed here cause second condition is true
        {
            delete pAdapterInfo;
            continue;
        }

Who know how to fix this problem?

All drivers are up to date.

P.S. I also tried to specify graphic card via Windows and GeForce software, but It seems appropriate only for laptop case with both integrate/discrete cards.

Upvotes: 0

Views: 87

Answers (1)

Dmitry Kozlov
Dmitry Kozlov

Reputation: 33

Oh my God.. The problem is only GTX1060 connected to my monitor.

My tutor explained me that it's impossible to render frame buffer in this case.

Upvotes: 1

Related Questions