summaryrefslogtreecommitdiff
path: root/sample/d3d11/common/DXUTDevice9.h
diff options
context:
space:
mode:
Diffstat (limited to 'sample/d3d11/common/DXUTDevice9.h')
-rw-r--r--sample/d3d11/common/DXUTDevice9.h207
1 files changed, 0 insertions, 207 deletions
diff --git a/sample/d3d11/common/DXUTDevice9.h b/sample/d3d11/common/DXUTDevice9.h
deleted file mode 100644
index 26b6d5d..0000000
--- a/sample/d3d11/common/DXUTDevice9.h
+++ /dev/null
@@ -1,207 +0,0 @@
-//--------------------------------------------------------------------------------------
-// File: DXUTDevice9.h
-//
-// Enumerates D3D adapters, devices, modes, etc.
-//
-// Copyright (c) Microsoft Corporation. All rights reserved.
-//--------------------------------------------------------------------------------------
-#pragma once
-#ifndef DXUT_DEVICE9_H
-#define DXUT_DEVICE9_H
-
-//void DXUTApplyDefaultDeviceSettings(DXUTDeviceSettings *modifySettings);
-
-//--------------------------------------------------------------------------------------
-// Functions to get bit depth from formats
-//--------------------------------------------------------------------------------------
-UINT WINAPI DXUTGetD3D9ColorChannelBits( D3DFORMAT fmt );
-UINT WINAPI DXUTGetAlphaChannelBits( D3DFORMAT fmt );
-UINT WINAPI DXUTGetStencilBits( D3DFORMAT fmt );
-UINT WINAPI DXUTGetDepthBits( D3DFORMAT fmt );
-UINT WINAPI DXUTGetDXGIColorChannelBits( DXGI_FORMAT fmt );
-
-
-//--------------------------------------------------------------------------------------
-// Forward declarations
-//--------------------------------------------------------------------------------------
-
-class CD3D9EnumAdapterInfo;
-class CD3D9EnumDeviceInfo;
-struct CD3D9EnumDeviceSettingsCombo;
-struct CD3D9EnumDSMSConflict;
-
-
-
-
-
-//--------------------------------------------------------------------------------------
-// Optional memory create/destory functions. If not call, these will be called automatically
-//--------------------------------------------------------------------------------------
-HRESULT WINAPI DXUTCreateD3D9Enumeration();
-void WINAPI DXUTDestroyD3D9Enumeration();
-
-
-
-//--------------------------------------------------------------------------------------
-// Enumerates available Direct3D9 adapters, devices, modes, etc.
-// Use DXUTGetD3D9Enumeration() to access global instance
-//--------------------------------------------------------------------------------------
-class CD3D9Enumeration
-{
-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 SetRequirePostPixelShaderBlending( bool bRequire ) { m_bRequirePostPixelShaderBlending = bRequire; }
- void SetResolutionMinMax( UINT nMinWidth, UINT nMinHeight, UINT nMaxWidth, UINT nMaxHeight );
- void SetRefreshMinMax( UINT nMin, UINT nMax );
- void SetMultisampleQualityMax( UINT nMax );
- void GetPossibleVertexProcessingList( bool* pbSoftwareVP, bool* pbHardwareVP, bool* pbPureHarewareVP, bool* pbMixedVP );
- void SetPossibleVertexProcessingList( bool bSoftwareVP, bool bHardwareVP, bool bPureHarewareVP, bool bMixedVP );
- CGrowableArray<D3DFORMAT>* GetPossibleDepthStencilFormatList();
- CGrowableArray<D3DMULTISAMPLE_TYPE>* GetPossibleMultisampleTypeList();
- CGrowableArray<UINT>* GetPossiblePresentIntervalList();
- void ResetPossibleDepthStencilFormats();
- void ResetPossibleMultisampleTypeList();
- void ResetPossiblePresentIntervalList();
-
- // Call Enumerate() to enumerate available D3D adapters, devices, modes, etc.
- bool HasEnumerated() { return m_bHasEnumerated; }
- HRESULT Enumerate( LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE IsD3D9DeviceAcceptableFunc = NULL,
- void* pIsD3D9DeviceAcceptableFuncUserContext = NULL );
-
- // These should be called after Enumerate() is called
- CGrowableArray<CD3D9EnumAdapterInfo*>* GetAdapterInfoList();
- CD3D9EnumAdapterInfo* GetAdapterInfo( UINT AdapterOrdinal );
- CD3D9EnumDeviceInfo* GetDeviceInfo( UINT AdapterOrdinal, D3DDEVTYPE DeviceType );
- CD3D9EnumDeviceSettingsCombo* GetDeviceSettingsCombo( DXUTD3D9DeviceSettings* pD3D9DeviceSettings ) { return GetDeviceSettingsCombo( pD3D9DeviceSettings->AdapterOrdinal, pD3D9DeviceSettings->DeviceType, pD3D9DeviceSettings->AdapterFormat, pD3D9DeviceSettings->pp.BackBufferFormat, pD3D9DeviceSettings->pp.Windowed ); }
- CD3D9EnumDeviceSettingsCombo* GetDeviceSettingsCombo( UINT AdapterOrdinal, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT BackBufferFormat, BOOL Windowed );
-
- ~CD3D9Enumeration();
-
-private:
- friend HRESULT WINAPI DXUTCreateD3D9Enumeration();
-
- // Use DXUTGetD3D9Enumeration() to access global instance
- CD3D9Enumeration();
-
- bool m_bHasEnumerated;
- IDirect3D9* m_pD3D;
- LPDXUTCALLBACKISD3D9DEVICEACCEPTABLE m_IsD3D9DeviceAcceptableFunc;
- void* m_pIsD3D9DeviceAcceptableFuncUserContext;
- bool m_bRequirePostPixelShaderBlending;
- CGrowableArray<D3DFORMAT> m_DepthStencilPossibleList;
- CGrowableArray<D3DMULTISAMPLE_TYPE> m_MultiSampleTypeList;
- CGrowableArray<UINT> m_PresentIntervalList;
-
- bool m_bSoftwareVP;
- bool m_bHardwareVP;
- bool m_bPureHarewareVP;
- bool m_bMixedVP;
-
- UINT m_nMinWidth;
- UINT m_nMaxWidth;
- UINT m_nMinHeight;
- UINT m_nMaxHeight;
- UINT m_nRefreshMin;
- UINT m_nRefreshMax;
- UINT m_nMultisampleQualityMax;
-
- // Array of CD3D9EnumAdapterInfo* with unique AdapterOrdinals
- CGrowableArray<CD3D9EnumAdapterInfo*> m_AdapterInfoList;
-
- HRESULT EnumerateDevices( CD3D9EnumAdapterInfo* pAdapterInfo, CGrowableArray<D3DFORMAT>* pAdapterFormatList );
- HRESULT EnumerateDeviceCombos( CD3D9EnumAdapterInfo* pAdapterInfo, CD3D9EnumDeviceInfo* pDeviceInfo, CGrowableArray<D3DFORMAT>* pAdapterFormatList );
- void BuildDepthStencilFormatList( CD3D9EnumDeviceSettingsCombo* pDeviceCombo );
- void BuildMultiSampleTypeList( CD3D9EnumDeviceSettingsCombo* pDeviceCombo );
- void BuildDSMSConflictList( CD3D9EnumDeviceSettingsCombo* pDeviceCombo );
- void BuildPresentIntervalList( CD3D9EnumDeviceInfo* pDeviceInfo, CD3D9EnumDeviceSettingsCombo* pDeviceCombo );
- void ClearAdapterInfoList();
-};
-
-CD3D9Enumeration* WINAPI DXUTGetD3D9Enumeration( bool bForceEnumerate = false );
-
-
-//--------------------------------------------------------------------------------------
-// A class describing an adapter which contains a unique adapter ordinal
-// that is installed on the system
-//--------------------------------------------------------------------------------------
-class CD3D9EnumAdapterInfo
-{
-public:
- ~CD3D9EnumAdapterInfo();
-
- UINT AdapterOrdinal;
- D3DADAPTER_IDENTIFIER9 AdapterIdentifier;
- WCHAR szUniqueDescription[256];
-
- CGrowableArray <D3DDISPLAYMODE> displayModeList; // Array of supported D3DDISPLAYMODEs
- CGrowableArray <CD3D9EnumDeviceInfo*> deviceInfoList; // Array of CD3D9EnumDeviceInfo* with unique supported DeviceTypes
-};
-
-
-//--------------------------------------------------------------------------------------
-// A class describing a Direct3D device that contains a
-// unique supported device type
-//--------------------------------------------------------------------------------------
-class CD3D9EnumDeviceInfo
-{
-public:
- ~CD3D9EnumDeviceInfo();
-
- UINT AdapterOrdinal;
- D3DDEVTYPE DeviceType;
- D3DCAPS9 Caps;
-
- // List of CD3D9EnumDeviceSettingsCombo* with a unique set
- // of AdapterFormat, BackBufferFormat, and Windowed
- CGrowableArray <CD3D9EnumDeviceSettingsCombo*> deviceSettingsComboList;
-};
-
-
-//--------------------------------------------------------------------------------------
-// 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 CD3D9EnumDeviceSettingsCombo
-{
- UINT AdapterOrdinal;
- D3DDEVTYPE DeviceType;
- D3DFORMAT AdapterFormat;
- D3DFORMAT BackBufferFormat;
- BOOL Windowed;
-
- CGrowableArray <D3DFORMAT> depthStencilFormatList; // List of D3DFORMATs
- CGrowableArray <D3DMULTISAMPLE_TYPE> multiSampleTypeList; // List of D3DMULTISAMPLE_TYPEs
- CGrowableArray <DWORD> multiSampleQualityList; // List of number of quality levels for each multisample type
- CGrowableArray <UINT> presentIntervalList; // List of D3DPRESENT flags
- CGrowableArray <CD3D9EnumDSMSConflict> DSMSConflictList; // List of CD3D9EnumDSMSConflict
-
- CD3D9EnumAdapterInfo* pAdapterInfo;
- CD3D9EnumDeviceInfo* pDeviceInfo;
-};
-
-
-//--------------------------------------------------------------------------------------
-// A depth/stencil buffer format that is incompatible with a
-// multisample type.
-//--------------------------------------------------------------------------------------
-struct CD3D9EnumDSMSConflict
-{
- D3DFORMAT DSFormat;
- D3DMULTISAMPLE_TYPE MSType;
-};
-
-
-
-float DXUTRankD3D9DeviceCombo( CD3D9EnumDeviceSettingsCombo* pDeviceSettingsCombo,
- DXUTD3D9DeviceSettings* pOptimalDeviceSettings,
- D3DDISPLAYMODE* pAdapterDesktopDisplayMode,
- int &bestModeIndex,
- int &bestMSAAIndex
- );
-
-
-#endif