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
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:
- ID3D11DeviceContext::D raw
- ID3D11DeviceContext::D rawIndexed
- ID3D11DeviceContext::D rawInstanced
- ID3D11DeviceContext::D rawIndexedInstanced
- ID3D11DeviceContext::D rawAuto
- ID3D11DeviceContext::ClearRenderTargetView
- ID3D11DeviceContext::ClearDepthStencilView
- ID3D11DeviceContext::CopySubresourceRegion
- ID3D11DeviceContext::CopyResource
- ID3D11DeviceContext::UpdateSubresource
- ID3D11DeviceContext::GenerateMips
- ID3D11DeviceContext::ResolveSubresource
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:
- Wenn eine Anwendung ID3D11DeviceContext1::D iscardView aufruft, füllt die Runtime die Ressource mit einer zufälligen Farbe aus.
- Wenn eine Anwendung IDXGISwapChain1::P resent1 mit partiellen Präsentationsparametern aufruft, ignoriert die Runtime die partiellen Präsentationsinformationen.
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 |