Como criar um dispositivo WARP
Este tópico mostra como criar um dispositivo WARP que implementa um rasterizador de software de alta velocidade. Para criar um dispositivo WARP, basta especificar que o dispositivo que você está criando usará um driver WARP. Este exemplo cria um dispositivo e uma cadeia de troca ao mesmo tempo.
Para criar um dispositivo WARP
Defina parâmetros iniciais para uma cadeia de troca.
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;
Solicite um nível de recurso que implemente os recursos de que seu aplicativo precisará. Um dispositivo WARP pode ser criado com êxito para níveis de recursos D3D_FEATURE_LEVEL_9_1 por meio de D3D_FEATURE_LEVEL_10_1 e começando com Windows 8 para todos os níveis de recursos.
D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_10_1;
Veja mais sobre os níveis de recursos na enumeração D3D_FEATURE_LEVEL .
Crie o dispositivo chamando D3D11CreateDeviceAndSwapChain.
HRESULT hr = S_OK;
if( FAILED (hr = D3D11CreateDeviceAndSwapChain( NULL,
D3D_DRIVER_TYPE_WARP,
NULL,
0,
&FeatureLevels,
1,
D3D11_SDK_VERSION,
&sd,
&g_pSwapChain,
&g_pd3dDevice,
&FeatureLevel,
&g_pImmediateContext )))
{
return hr;
}
Você precisará fornecer a chamada à API com o tipo de driver WARP da enumeração D3D_DRIVER_TYPE . Depois que o método for bem-sucedido, ele retornará uma interface de cadeia de troca, uma interface do dispositivo, um ponteiro para o nível de recurso que foi concedido pelo driver e uma interface de contexto imediata.
Para obter informações sobre limitações ao criar um dispositivo WARP em determinados níveis de recursos, consulte Limitações ao criar dispositivos WARP e de referência.
Novo para Windows 8
Quando o adaptador de exibição principal de um computador é o "Adaptador de Exibição Básico da Microsoft" (adaptador WARP), esse computador também tem um segundo adaptador. Este segundo adaptador é o dispositivo somente renderização que não tem saídas de exibição. Para obter mais informações sobre o dispositivo somente renderização, consulte novas informações em Windows 8 sobre como enumerar adaptadores.
Tópicos relacionados