Partager via


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é qui sont combinés à l’aide d’une opération OR au niveau du bit. Si un indicateur est présent, cette fonctionnalité est définie sur Activé, sinon la fonctionnalité est désactivée. Pour obtenir une description 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.

Notes

Note Si vous appelez cette API dans un processus session 0, elle retourne DXGI_ERROR_NOT_CURRENTLY_AVAILABLE.
 
Si vous définissez l’un des indicateurs de masque de fonctionnalité suivants, une méthode d’opération de rendu (répertoriée ci-dessous) effectue une tâche supplémentaire lorsqu’elle est appelée.
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 appelleRA 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 :

En définissant l’un des indicateurs de masque de fonctionnalité suivants, vous pouvez contrôler le comportement des méthodes IDXGIDevice2::OfferResources et IDXGIDevice2::ReclaimResources pour faciliter le test et le débogage.
Note Ces indicateurs sont pris en charge par le runtime Direct3D 11.1, disponible à partir de Windows 8.
 
D3D11_DEBUG_FEATURE_ALWAYS_DISCARD_OFFERED_RESOURCE (0x8) Lorsque vous appelez IDXGIDevice2::OfferResources pour proposer des ressources alors que cet indicateur est activé, leur contenu est toujours ignoré. Utilisez cet indicateur pour tester les chemins de code qui régénèrent 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 proposer des ressources alors que cet indicateur est activé, leur 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 pression 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 du 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 les 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 :

L’indicateur suivant est pris en charge par le runtime Direct3D 11.2.
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. Les applications peuvent souhaiter s’exécuter initialement avec la validation du mappage des vignettes de ressources en mosaïques 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 les appels de dessin ou de copie) impliquant des ressources en mosaïques, la couche de débogage ignore toute la validation du mappage de vignettes pour l’appel.

Spécifications

   
Plateforme cible Windows
En-tête d3d11sdklayers.h
Bibliothèque D3D11.lib

Voir aussi

ID3D11Debug, interface