зеркало из https://github.com/microsoft/DXUT.git
DXUT11: Filter out "Microsoft Basic Renderer" software device from enum
This commit is contained in:
Родитель
3326eb9865
Коммит
c56b386c14
|
@ -67,7 +67,7 @@
|
|||
// Direct3D11 includes
|
||||
#include <d3dcommon.h>
|
||||
#include <dxgi.h>
|
||||
#include <d3d11.h>
|
||||
#include <d3d11_1.h>
|
||||
#include <d3dcompiler.h>
|
||||
|
||||
// DirectXMath includes
|
||||
|
@ -122,6 +122,7 @@
|
|||
((DWORD)((((a)&0xff)<<24)|(((r)&0xff)<<16)|(((g)&0xff)<<8)|((b)&0xff)))
|
||||
#endif
|
||||
|
||||
#define DXUT_VERSION 1103
|
||||
|
||||
//--------------------------------------------------------------------------------------
|
||||
// SAL2 fixups for VS 2010
|
||||
|
|
|
@ -139,6 +139,22 @@ HRESULT CD3D11Enumeration::Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3
|
|||
if( FAILED( hr ) ) // DXGIERR_NOT_FOUND is expected when the end of the list is hit
|
||||
break;
|
||||
|
||||
IDXGIAdapter2* pAdapter2 = nullptr;
|
||||
if ( SUCCEEDED( pAdapter->QueryInterface( __uuidof(IDXGIAdapter2), ( LPVOID* )&pAdapter2 ) ) )
|
||||
{
|
||||
// Succeeds on Directx 11.1 Runtime systems
|
||||
DXGI_ADAPTER_DESC2 desc;
|
||||
hr = pAdapter2->GetDesc2( &desc );
|
||||
pAdapter2->Release();
|
||||
|
||||
if ( SUCCEEDED(hr) && ( desc.Flags & DXGI_ADAPTER_FLAG_SOFTWARE ) )
|
||||
{
|
||||
// Skip "always there" Microsoft Basics Display Driver
|
||||
pAdapter->Release();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
CD3D11EnumAdapterInfo* pAdapterInfo = new (std::nothrow) CD3D11EnumAdapterInfo;
|
||||
if( !pAdapterInfo )
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче