如何:建立參考裝置
本主題說明如何建立參考裝置,以實作高度精確的運行時間軟體實作。 若要建立參考裝置,只要指定您所建立的裝置將會使用參考驅動程式。 此範例會同時建立裝置和交換鏈結。
建立參考裝置
定義交換鏈結的初始參數。
DXGI_SWAP_CHAIN_DESC sd; ZeroMemory( &sd, sizeof( sd ) ); sd.BufferCount = 1; sd.BufferDesc.Width = 640; sd.BufferDesc.Height = 480; sd.BufferDesc.Format = DXGI_FORMAT_R8G8B8A8_UNORM; sd.BufferDesc.RefreshRate.Numerator = 60; sd.BufferDesc.RefreshRate.Denominator = 1; sd.BufferUsage = DXGI_USAGE_RENDER_TARGET_OUTPUT; sd.OutputWindow = g_hWnd; sd.SampleDesc.Count = 1; sd.SampleDesc.Quality = 0; sd.Windowed = TRUE;
請求實現應用程式所需的功能級別。 您可以成功為 Direct3D 11 執行時間建立參考裝置。
D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_11_0;
查看 D3D_FEATURE_LEVEL 列舉中的功能層級以了解更多。
呼叫 D3D11CreateDeviceAndSwapChain來建立裝置。
HRESULT hr = S_OK;
D3D_FEATURE_LEVEL FeatureLevel;
if( FAILED (hr = D3D11CreateDeviceAndSwapChain( NULL,
D3D_DRIVER_TYPE_REFERENCE,
NULL,
0,
&FeatureLevels,
1,
D3D11_SDK_VERSION,
&sd,
&g_pSwapChain,
&g_pd3dDevice,
&FeatureLevel,
&g_pImmediateContext )))
{
return hr;
}
您需要提供 API 呼叫參考驅動程式類型,該類型來自 D3D_DRIVER_TYPE 列舉中。 方法成功之後,它會傳回交換鏈介面、裝置介面、驅動程式授與的功能層級指標,以及即時上下文介面。
如需在特定功能層級上建立參考裝置的限制相關信息,請參閱 建立 WARP 和參考裝置的限制。如何使用 Direct3D 11
相關主題