ID3D11Debug::SetFeatureMask, méthode (d3d11sdklayers.h)
Définissez un champ de bits d’indicateurs qui active et désactive les fonctionnalités de débogage.
Syntaxe
HRESULT SetFeatureMask(
UINT Mask
);
Paramètres
Mask
Type : UINT
Combinaison d’indicateurs de masque de fonctionnalité combinés à l’aide d’une opération OR au niveau du bit. Si un indicateur est présent, cette fonctionnalité est activée, sinon la fonctionnalité est désactivée. Pour obtenir des descriptions des indicateurs de masque de fonctionnalité, consultez Remarques.
Valeur retournée
Type : HRESULT
Cette méthode retourne l’un des codes de retour Direct3D 11.
Remarques
D3D11_DEBUG_FEATURE_FINISH_PER_RENDER_OP (0x2) | L’application attend que le GPU termine le traitement de l’opération de rendu avant de continuer. |
D3D11_DEBUG_FEATURE_FLUSH_PER_RENDER_OP (0x1) | Le runtime appelle également ID3D11DeviceContext::Flush. |
D3D11_DEBUG_FEATURE_PRESENT_PER_RENDER_OP (0x4) | Le runtime appelle IDXGISwapChain::P resent. La présentation des mémoires tampons de rendu se produit en fonction des paramètres établis par les appels précédents à ID3D11Debug::SetSwapChain et ID3D11Debug::SetPresentPerRenderOpDelay. |
Ces indicateurs de masque de fonctionnalité s’appliquent aux méthodes d’opération de rendu suivantes :
- 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) | Lorsque vous appelez IDXGIDevice2::OfferResources pour offrir des ressources pendant que cet indicateur est activé, son contenu est toujours ignoré. Utilisez cet indicateur pour tester les chemins d’accès de code qui régénérez le contenu des ressources lors de la récupération. Vous ne pouvez pas utiliser cet indicateur en combinaison avec D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE. |
D3D11_DEBUG_FEATURE_NEVER_DISCARD_OFFERED_RESOURCE (0x10) | Lorsque vous appelez IDXGIDevice2::OfferResources pour offrir des ressources alors que cet indicateur est activé, son contenu n’est jamais ignoré. Utilisez cet indicateur pour tester les chemins de code qui n’ont pas besoin de régénérer le contenu des ressources lors de la récupération. Vous ne pouvez pas utiliser cet indicateur en combinaison avec D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE. |
Le comportement des méthodes IDXGIDevice2::OfferResources et IDXGIDevice2::ReclaimResources dépend de la sollicitation de la mémoire à l’échelle du système. Par conséquent, le scénario où le contenu est perdu et doit être régénéré est rare pour la plupart des applications. Les nouvelles options précédentes de la couche de débogage Direct3D vous permettent de simuler ce scénario de manière cohérente et de tester les chemins de code.
L’indicateur suivant est pris en charge par le runtime Direct3D 11.1.
D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS (0x40) | Désactive le comportement de débogage par défaut suivant. |
Lorsque la couche de débogage est activée, elle effectue certaines actions pour révéler des problèmes d’application. En définissant l’indicateur de masque de fonctionnalité D3D11_DEBUG_FEATURE_AVOID_BEHAVIOR_CHANGING_DEBUG_AIDS, vous pouvez activer la couche de débogage sans obtenir le comportement de débogage par défaut suivant :
- Si une application appelle ID3D11DeviceContext1::D iscardView, le runtime remplit la ressource avec une couleur aléatoire.
- Si une application appelle IDXGISwapChain1::P resent1 avec des paramètres de présentation partielle, le runtime ignore les informations de présentation partielles.
D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION (0x80) | Désactive le comportement de débogage par défaut suivant. |
Par défaut (autrement dit, sans D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION défini), la couche de débogage valide l’utilisation appropriée de tous les mappages de vignettes pour les ressources en mosaïques pour les ressources liées pour chaque opération effectuée sur le contexte de l’appareil (par exemple, dessiner, copier, etc.). Selon la taille des ressources en mosaïques utilisées (le cas échéant), cette validation peut être intensive et lente par le processeur. Les applications peuvent initialement s’exécuter avec la validation de mappage de vignettes de ressources en mosaïque sur ; ensuite, lorsqu’ils déterminent que le modèle d’appel est sécurisé, ils peuvent désactiver la validation en définissant D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION.
Si D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION est défini lors de la création d’une ressource en mosaïque, la couche de débogage n’effectue jamais le suivi du mappage de vignettes pour cette ressource pendant toute sa durée de vie. Sinon, si D3D11_DEBUG_FEATURE_DISABLE_TILED_RESOURCE_MAPPING_TRACKING_AND_VALIDATION est défini pour un appel de méthode de contexte d’appareil donné (comme dessiner ou copier des appels) impliquant des ressources en mosaïques, la couche de débogage ignore toutes les validations de mappage de vignette pour l’appel.
Configuration requise
Plateforme cible | Windows |
En-tête | d3d11sdklayers.h |
Bibliothèque | D3D11.lib |