diff options
Diffstat (limited to 'test/d3d11/common/DXUTDevice11.h')
| -rw-r--r-- | test/d3d11/common/DXUTDevice11.h | 210 |
1 files changed, 0 insertions, 210 deletions
diff --git a/test/d3d11/common/DXUTDevice11.h b/test/d3d11/common/DXUTDevice11.h deleted file mode 100644 index a76cc69..0000000 --- a/test/d3d11/common/DXUTDevice11.h +++ /dev/null @@ -1,210 +0,0 @@ -//-------------------------------------------------------------------------------------- -// File: DXUTDevice11.h -// -// Enumerates D3D adapters, devices, modes, etc. -// -// Copyright (c) Microsoft Corporation. All rights reserved. -//-------------------------------------------------------------------------------------- -#pragma once -#ifndef DXUT_DEVICE11_H -#define DXUT_DEVICE11_H - -void DXUTApplyDefaultDeviceSettings(DXUTDeviceSettings *modifySettings); - -//-------------------------------------------------------------------------------------- -// Functions to get bit depth from formats -//-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTGetD3D11AdapterDisplayMode( UINT AdapterOrdinal, UINT Output, DXGI_MODE_DESC* pModeDesc ); - - - - -//-------------------------------------------------------------------------------------- -// Optional memory create/destory functions. If not call, these will be called automatically -//-------------------------------------------------------------------------------------- -HRESULT WINAPI DXUTCreateD3D11Enumeration(); -void WINAPI DXUTDestroyD3D11Enumeration(); - - - - -//-------------------------------------------------------------------------------------- -// Forward declarations -//-------------------------------------------------------------------------------------- -class CD3D11EnumAdapterInfo; -class CD3D11EnumDeviceInfo; -class CD3D11EnumOutputInfo; -struct CD3D11EnumDeviceSettingsCombo; - - - -//-------------------------------------------------------------------------------------- -// Enumerates available Direct3D10 adapters, devices, modes, etc. -// Use DXUTGetD3D9Enumeration() to access global instance -//-------------------------------------------------------------------------------------- -class CD3D11Enumeration -{ -public: - // These should be called before Enumerate(). - // - // Use these calls and the IsDeviceAcceptable to control the contents of - // the enumeration object, which affects the device selection and the device settings dialog. - void SetResolutionMinMax( UINT nMinWidth, UINT nMinHeight, UINT nMaxWidth, UINT nMaxHeight ); - void SetRefreshMinMax( UINT nMin, UINT nMax ); - void SetForceFeatureLevel( D3D_FEATURE_LEVEL forceFL) { - g_forceFL = forceFL; - }; - void SetMultisampleQualityMax( UINT nMax ); - CGrowableArray<D3DFORMAT>* GetPossibleDepthStencilFormatList(); - void ResetPossibleDepthStencilFormats(); - void SetEnumerateAllAdapterFormats( bool bEnumerateAllAdapterFormats ); - - // Call Enumerate() to enumerate available D3D11 adapters, devices, modes, etc. - bool HasEnumerated() { return m_bHasEnumerated; } - HRESULT Enumerate( LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE IsD3D11DeviceAcceptableFunc, - void* pIsD3D11DeviceAcceptableFuncUserContext ); - - // These should be called after Enumerate() is called - CGrowableArray<CD3D11EnumAdapterInfo*>* GetAdapterInfoList(); - CD3D11EnumAdapterInfo* GetAdapterInfo( UINT AdapterOrdinal ); - CD3D11EnumDeviceInfo* GetDeviceInfo( UINT AdapterOrdinal, D3D_DRIVER_TYPE DeviceType ); - CD3D11EnumOutputInfo* GetOutputInfo( UINT AdapterOrdinal, UINT Output ); - CD3D11EnumDeviceSettingsCombo* GetDeviceSettingsCombo( DXUTD3D11DeviceSettings* pDeviceSettings ) { return GetDeviceSettingsCombo( pDeviceSettings->AdapterOrdinal, pDeviceSettings->DriverType, pDeviceSettings->Output, pDeviceSettings->sd.BufferDesc.Format, pDeviceSettings->sd.Windowed ); } - CD3D11EnumDeviceSettingsCombo* GetDeviceSettingsCombo( UINT AdapterOrdinal, D3D_DRIVER_TYPE DeviceType, UINT Output, DXGI_FORMAT BackBufferFormat, BOOL Windowed ); - - ~CD3D11Enumeration(); - -private: - friend HRESULT WINAPI DXUTCreateD3D11Enumeration(); - - // Use DXUTGetD3D11Enumeration() to access global instance - CD3D11Enumeration(); - - bool m_bHasEnumerated; - LPDXUTCALLBACKISD3D11DEVICEACCEPTABLE m_IsD3D11DeviceAcceptableFunc; - void* m_pIsD3D11DeviceAcceptableFuncUserContext; - - CGrowableArray<DXGI_FORMAT> m_DepthStencilPossibleList; - - UINT m_nMinWidth; - UINT m_nMaxWidth; - UINT m_nMinHeight; - UINT m_nMaxHeight; - UINT m_nRefreshMin; - UINT m_nRefreshMax; - UINT m_nMultisampleQualityMax; - bool m_bEnumerateAllAdapterFormats; - D3D_FEATURE_LEVEL g_forceFL; - - // Array of CD3D9EnumAdapterInfo* with unique AdapterOrdinals - CGrowableArray<CD3D11EnumAdapterInfo*> m_AdapterInfoList; - - HRESULT EnumerateOutputs( CD3D11EnumAdapterInfo *pAdapterInfo ); - HRESULT EnumerateDevices( CD3D11EnumAdapterInfo *pAdapterInfo ); - HRESULT EnumerateDeviceCombos( IDXGIFactory1 *pFactory, CD3D11EnumAdapterInfo* pAdapterInfo ); - HRESULT EnumerateDeviceCombosNoAdapter( CD3D11EnumAdapterInfo* pAdapterInfo ); - - HRESULT EnumerateDisplayModes( CD3D11EnumOutputInfo *pOutputInfo ); - void BuildMultiSampleQualityList( DXGI_FORMAT fmt, CD3D11EnumDeviceSettingsCombo* pDeviceCombo ); - void ClearAdapterInfoList(); -}; - -CD3D11Enumeration* WINAPI DXUTGetD3D11Enumeration(bool bForceEnumerate = false, bool EnumerateAllAdapterFormats = false, D3D_FEATURE_LEVEL forceFL = ((D3D_FEATURE_LEVEL )0) ); - - -#define DXGI_MAX_DEVICE_IDENTIFIER_STRING 128 - -//-------------------------------------------------------------------------------------- -// A class describing an adapter which contains a unique adapter ordinal -// that is installed on the system -//-------------------------------------------------------------------------------------- -class CD3D11EnumAdapterInfo -{ - const CD3D11EnumAdapterInfo &operator = ( const CD3D11EnumAdapterInfo &rhs ); - -public: - ~CD3D11EnumAdapterInfo(); - - UINT AdapterOrdinal; - DXGI_ADAPTER_DESC AdapterDesc; - WCHAR szUniqueDescription[DXGI_MAX_DEVICE_IDENTIFIER_STRING]; - IDXGIAdapter *m_pAdapter; - bool bAdapterUnavailable; - - CGrowableArray<CD3D11EnumOutputInfo*> outputInfoList; // Array of CD3D11EnumOutputInfo* - CGrowableArray<CD3D11EnumDeviceInfo*> deviceInfoList; // Array of CD3D11EnumDeviceInfo* - // List of CD3D11EnumDeviceSettingsCombo* with a unique set - // of BackBufferFormat, and Windowed - CGrowableArray<CD3D11EnumDeviceSettingsCombo*> deviceSettingsComboList; -}; - - -class CD3D11EnumOutputInfo -{ - const CD3D11EnumOutputInfo &operator = ( const CD3D11EnumOutputInfo &rhs ); - -public: - ~CD3D11EnumOutputInfo(); - - UINT AdapterOrdinal; - UINT Output; - IDXGIOutput* m_pOutput; - DXGI_OUTPUT_DESC Desc; - - CGrowableArray <DXGI_MODE_DESC> displayModeList; // Array of supported D3DDISPLAYMODEs -}; - - -//-------------------------------------------------------------------------------------- -// A class describing a Direct3D10 device that contains a -// unique supported driver type -//-------------------------------------------------------------------------------------- -class CD3D11EnumDeviceInfo -{ - const CD3D11EnumDeviceInfo& operator =( const CD3D11EnumDeviceInfo& rhs ); - -public: - ~CD3D11EnumDeviceInfo(); - - UINT AdapterOrdinal; - D3D_DRIVER_TYPE DeviceType; - D3D_FEATURE_LEVEL SelectedLevel; - D3D_FEATURE_LEVEL MaxLevel; - BOOL ComputeShaders_Plus_RawAndStructuredBuffers_Via_Shader_4_x; -}; - - -//-------------------------------------------------------------------------------------- -// A struct describing device settings that contains a unique combination of -// adapter format, back buffer format, and windowed that is compatible with a -// particular Direct3D device and the app. -//-------------------------------------------------------------------------------------- -struct CD3D11EnumDeviceSettingsCombo -{ - UINT AdapterOrdinal; - D3D_DRIVER_TYPE DeviceType; - DXGI_FORMAT BackBufferFormat; - BOOL Windowed; - UINT Output; - - CGrowableArray <UINT> multiSampleCountList; // List of valid sampling counts (multisampling) - CGrowableArray <UINT> multiSampleQualityList; // List of number of quality levels for each multisample count - - CD3D11EnumAdapterInfo* pAdapterInfo; - CD3D11EnumDeviceInfo* pDeviceInfo; - CD3D11EnumOutputInfo* pOutputInfo; -}; - -float DXUTRankD3D11DeviceCombo( CD3D11EnumDeviceSettingsCombo* pDeviceSettingsCombo, - DXUTD3D11DeviceSettings* pOptimalDeviceSettings, - DXGI_MODE_DESC* pAdapterDisplayMode, - int &bestModeIndex, - int &bestMSAAIndex - ); - - - - -#endif - - |