ID3D11Debug::SetFeatureMask-Methode (d3d11sdklayers.h)

Legen Sie ein Bitfeld mit Flags fest, mit dem Debugfeatures aktiviert und deaktiviert werden.

Syntax

HRESULT SetFeatureMask(
  UINT Mask
);

Parameter

Mask

Typ: UINT

Eine Kombination von Featuremaskenflags, die mithilfe eines bitweisen OR-Vorgangs kombiniert werden. Wenn ein Flag vorhanden ist, wird dieses Feature auf on festgelegt, andernfalls wird das Feature auf deaktiviert. Beschreibungen der Featuremaskenflags finden Sie unter Hinweise.

Rückgabewert

Typ: HRESULT

Diese Methode gibt einen der Direct3D 11-Rückgabecodes zurück.

Hinweise

Hinweis Wenn Sie diese API in einem Sitzung 0-Prozess aufrufen, wird DXGI_ERROR_NOT_CURRENTLY_AVAILABLE zurückgegeben.
 
Wenn Sie eines der folgenden Featuremaskenflags festlegen, führt dies dazu, dass eine Rendering-Operation-Methode (siehe unten) eine zusätzliche Aufgabe ausführen kann, wenn sie aufgerufen wird.
D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP (0x2) Die Anwendung wartet, bis die GPU die Verarbeitung des Renderingvorgangs abgeschlossen hat, bevor sie fortfährt.
D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP (0x1) Runtime ruft zusätzlich ID3D11DeviceContext::Flush auf.
D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP (0x4) Runtime ruft IDXGISwapChain::P resent auf. Die Darstellung von Renderpuffern erfolgt gemäß den Einstellungen, die durch vorherige Aufrufe von ID3D11Debug::SetSwapChain und ID3D11Debug::SetPresentPerRenderOpDelay festgelegt wurden.
 

Diese Featuremasken-Flags gelten für die folgenden Renderingvorgangsmethoden:

Durch Festlegen eines der folgenden Featuremaskenflags können Sie das Verhalten der Methoden IDXGIDevice2::OfferResources und IDXGIDevice2::ReclaimResources steuern, um tests und debuggen zu können.
Hinweis Diese Flags werden von der Direct3D 11.1-Runtime unterstützt, die ab Windows 8 verfügbar ist.
 
D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE (0x8) Wenn Sie IDXGIDevice2::OfferResources aufrufen, um Ressourcen anzubieten, während dieses Flag aktiviert ist, werden deren Inhalte immer verworfen. Verwenden Sie dieses Flag, um Codepfade zu testen, die Ressourceninhalte bei der Rückgewinnung neu generieren. Sie können dieses Flag nicht in Kombination mit D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE verwenden.
D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE (0x10) Wenn Sie IDXGIDevice2::OfferResources aufrufen, um Ressourcen anzubieten, während dieses Flag aktiviert ist, werden deren Inhalte nie verworfen. Verwenden Sie dieses Flag, um Codepfade zu testen, die keine Ressourceninhalte bei der Rückgewinnung neu generieren müssen. Sie können dieses Flag nicht in Kombination mit D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE verwenden.
 

Das Verhalten der Methoden IDXGIDevice2::OfferResources und IDXGIDevice2::ReclaimResources hängt vom systemweiten Arbeitsspeicherdruck ab. Daher ist das Szenario, in dem Inhalt verloren geht und neu generiert werden muss, für die meisten Anwendungen ungewöhnlich. Mit den vorherigen neuen Optionen in der Direct3D-Debugebene können Sie dieses Szenario konsistent simulieren und Codepfade testen.

Das folgende Flag wird von der Direct3D 11.1-Runtime unterstützt.

D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS (0x40) Deaktiviert das folgende Standarddebugverhalten.
 

Wenn die Debugebene aktiviert ist, führt sie bestimmte Aktionen aus, um Anwendungsprobleme aufzudecken. Durch Festlegen des D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS Featuremaskenflags können Sie die Debugebene aktivieren, ohne das folgende Standarddebugverhalten zu erhalten:

Das folgende Flag wird von der Direct3D 11.2-Runtime unterstützt.
D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION (0x80) Deaktiviert das folgende Standarddebugverhalten.
 

Standardmäßig (ohne D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION festgelegt) überprüft die Debugebene die ordnungsgemäße Verwendung aller Kachelzuordnungen für gekachelte Ressourcen für gebundene Ressourcen für jeden Vorgang, der im Gerätekontext ausgeführt wird (z. B. Zeichnen, Kopieren usw.). Abhängig von der Größe der verwendeten gekachelten Ressourcen (falls vorhanden) kann diese Überprüfung prozessorintensiv und langsam sein. Apps möchten möglicherweise zunächst mit der Überprüfung der Kachel einer Ressourcenkachel für ausgeführt werden. Wenn sie dann feststellen, dass das aufrufende Muster sicher ist, können sie die Überprüfung deaktivieren, indem sie D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION festlegen.

Wenn D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION festgelegt wird, wenn eine gekachelte Ressource erstellt wird, führt die Debugebene nie die Nachverfolgung der Kachelzuordnung für diese Ressource während der gesamten Lebensdauer durch. Wenn D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION für einen beliebigen Aufruf der Gerätekontextmethode (z. B. Zeichnen oder Kopieren) festgelegt ist, der gekachelte Ressourcen umfasst, überspringt die Debugebene die gesamte Überprüfung der Kachelzuordnung für den Aufruf.

Anforderungen

   
Zielplattform Windows
Kopfzeile d3d11sdklayers.h
Bibliothek D3D11.lib

Weitere Informationen

ID3D11Debug-Schnittstelle