Windows Dev Center

Vorgehensweise: Erstellen eines WARP-Geräts

Ein WARP-Gerät implementiert einen Softwarerasterer mit hoher Geschwindigkeit. Um ein WARP-Gerät zu erstellen, geben Sie einfach an, dass das Gerät, das Sie erstellen, einen WARP-Treiber verwendet. In diesem Beispiel werden ein Gerät und eine Swapkette gleichzeitig erstellt.

So erstellen Sie ein WARP-Gerät

  1. Definieren Sie Anfangsparameter für eine Swapkette.
    
    
        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;
    
    
    
  2. Fordern Sie eine Funktionsebene an, die die Funktionen implementiert, die die Anwendung benötigt. Ein WARP-Gerät kann für die Funktionsebenen D3D_FEATURE_LEVEL_10_1 bis einschließlich D3D_FEATURE_LEVEL_9_1 erfolgreich erstellt werden.
    
    
        D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_10_1;
    
    
    

    Weitere Informationen zu Funktionsebenen finden Sie in der D3D_FEATURE_LEVEL-Aufzählung.

  3. Erstellen Sie das Gerät, indem Sie D3D11CreateDeviceAndSwapChain aufrufen.


    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;
    }


Sie müssen den API-Aufruf mit dem WARP-Treibertyp von der D3D_DRIVER_TYPE-Aufzählung angeben. Nachdem die Methode erfolgreich abgeschlossen wurde, gibt sie eine Swapkettenschnittstelle, eine Geräteschnittstelle, einen Zeiger auf die Funktionsebene, die vom Treiber gewährt wurde, und eine unmittelbare Kontextschnittstelle zurück.

Informationen zu Einschränkungen bei der Erstellung von WARP-Geräten auf bestimmten Funktionsebenen finden Sie unter Einschränkungen bei der Erstellung von WARP- und Referenzgeräten.

Verwandte Themen

Geräte

 

 

Anzeigen:
© 2015 Microsoft