How To: Erstellen eines Referenzgeräts

In diesem Thema wird gezeigt, wie Sie ein Referenzgerät erstellen, das eine äußerst genaue Softwareimplementierung der Laufzeit implementiert. Um ein Referenzgerät zu erstellen, geben Sie einfach an, dass das gerät, das Sie erstellen, einen Verweistreiber verwendet. In diesem Beispiel werden gleichzeitig ein Gerät und eine Austauschkette erstellt.

So erstellen Sie ein Referenzgerät

  1. Definieren Sie anfängliche Parameter 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 Features implementiert, die Ihre Anwendung benötigt. Ein Referenzgerät kann erfolgreich für die Direct3D 11-Runtime erstellt werden.

        D3D_FEATURE_LEVEL FeatureLevels = D3D_FEATURE_LEVEL_11_0;
    

    Weitere Informationen zu Featureebenen finden Sie in der D3D _ FEATURE _ LEVEL-Enumeration.

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

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

Sie müssen den API-Aufruf mit dem Verweistreibertyp aus der D3D _ DRIVER _ TYPE-Enumeration liefern. Nachdem die Methode erfolgreich war, gibt sie eine Austauschkettenschnittstelle, eine Geräteschnittstelle, einen Zeiger auf die Featureebene, die vom Treiber gewährt wurde, und eine sofortige Kontextschnittstelle zurück.

Informationen zu Einschränkungen beim Erstellen eines Referenzgeräts auf bestimmten Featureebenen finden Sie unter Einschränkungen beim Erstellen von WARP- und Referenzgeräten. Verwenden von Direct3D 11

Geräte

Verwenden von Direct3D 11