Ausnahmen
Einige Features von Direct3D 11 werden von Featureebenen nicht vollständig angegeben. In diesem Thema werden Ausnahmen bei Verwendung von Direct3D 11 auf kompatibler Hardware beschrieben. Möglicherweise wurde ein Feature hinzugefügt, nachdem die Featureebene definiert wurde (und einen aktualisierten Treiber erfordert), oder vielleicht implementieren verschiedene GPUs sehr unterschiedliche Implementierungen. Ausnahmen auf Featureebene können in den folgenden Gruppen erfasst werden:
- Erweiterte Formate
- Multisample-Antialiasing
- Texture2D-Größen
- Spezielles Verhalten von Adaptern für Featureebene 9
- Zugehörige Themen
Im Abschnitt Referenz zu 10Level9 werden die Unterschiede zwischen den verschiedenen Methoden ID3D11Device und ID3D11DeviceContext auf verschiedenen 10Level9-Featureebenen aufgelistet.
Erweiterte Formate
Ein erweitertes Format ist ein Pixelformat, das Direct3D 10.1 und Direct3D 11 für die Featureebenen 10 _ 0 und 10 1 hinzugefügt _ wurde. Ein erweitertes Format erfordert einen aktualisierten Treiber (für Direct3D 10 _ 1 oder darunter). Verwenden Sie ID3D11Device::CheckFormatSupport und ID3D11Device::CheckFeatureSupport, um Unterstützung für diese erweiterten Formate abzufragen.
Ein erweitertes Format:
- Fügt Unterstützung für die BGRA-Reihenfolge von 8-Bit-Ressourcen pro Komponente hinzu.
- Ermöglicht die Umwandlung eines Swapkettenpuffers mit ganzzahligen Werten. Dadurch kann eine Anwendung das SRGB-Suffix hinzufügen oder entfernen _ oder zu einer XR _ BIAS-Swapkette rendern.
- Fügt optionale Unterstützung für DXGI _ FORMAT _ R10G10B10 _ XR _ BIAS _ A2 _ UNORM hinzu.
- Garantiert, dass eine DXGI _ FORMAT _ R16G16B16A16 _ FLOAT-Swapkette so dargestellt wird, als wären die enthaltenen Daten nicht sRGB-codiert.
Der vollständige Satz erweiterter Formate wird entweder vollständig unterstützt oder nicht unterstützt, mit Ausnahme des XR _ BIAS-Formats. Das XR _ BIAS-Format lautet:
- In 9 Ebenen nicht unterstützt
- Optional in der Ebene 10 _ 0 oder _ 10 1
- Garantiert auf der Ebene 11 _ 0
Multisample-Antialiasing
MSAA-Implementierungen haben in GPU-Implementierungen nur wenig gemeinsam. Featureebene 10.1 hat ein klar definiertes Minima hinzugefügt, aber auf niedrigeren Featureebenen muss MSAA explizit mit ID3D11Device::CheckMultisampleQualityLevelsgetestet werden.
Texture2D-Größen
Eine Featureebene garantiert, dass eine Mindestgröße erstellt werden kann. Eine Anwendung kann jedoch größere Texturen bis zur vollständigen Größe erstellen, die von der GPU unterstützt wird. Eine Anwendung sollte einen Fehler von einer Methode wie ID3D11Device::CreateTexture2D erwarten, wenn ein Maximum überschritten wird.
Spezielles Verhalten von Adaptern für Featureebene 9
Die drei niedrigsten Featureebenen D3D _ FEATURE _ LEVEL _ 9 _ 1, D3D _ FEATURE LEVEL _ _ 9 _ 2 und D3D _ FEATURE LEVEL _ _ 9 _ 3 verwenden eine gemeinsame Implementierungs-DLL und behandeln das IDXGIAdapter-Argument D3D11CreateDevice [ AndSwapchain ] als Vorlagenadapter und erstellen im Rahmen der Geräteerstellung einen eigenen Adapter. Dies bedeutet, dass der an die Erstellungsroutine übergebene IDXGIAdapter nicht derselbe Adapter ist, der über IDXGIDevice::GetAdapter vom Gerät abgerufen wurde. Dies wirkt sich darauf aus, dass die vom übergebenen Adapter aufzählten IDXGIOutputs nicht verwendet werden können, um mit einem Gerät der Ebene 9 in den Vollbildmodus zu gelangen, da diese Ausgaben nicht im Besitz des Adapters des Geräts sind. Es ist eine bewährte Methode, den übergebenen Vorlagenadapter zu verwerfen und den erstellten Adapter des Geräts mithilfe von IDXGIDevice::GetAdapter abzurufen, wobei IDXGIDevice mit QueryInterface über die Direct3D-Geräteschnittstelle abgerufen werden kann.