web-dev-qa-db-fra.com

Utiliser la couche de débogage D3D11 avec VS2013 sur Windows 10

Dans mes projets D3D 11, j'ajoute toujours

#if (defined(DEBUG) || defined(_DEBUG))
deviceFlags |= D3D11_CREATE_DEVICE_DEBUG;
#endif /* (defined(DEBUG) || defined(_DEBUG)) */

aux drapeaux de création de périphérique pour activer la sortie de débogage. Depuis que je suis passé à Windows 10, cela ne fonctionne plus. La création du périphérique échoue avec la sortie suivante:

D3D11CreateDevice: Des indicateurs (0x2) ont été spécifiés qui nécessitent les couches SDK D3D11 pour Windows 10, mais ils ne sont pas présents sur le système. Ces indicateurs doivent être supprimés ou le SDK Windows 10 doit être installé. Les indicateurs incluent: D3D11_CREATE_DEVICE_DEBUG

Cependant, je ne peux pas utiliser le SDK Windows 10 ni mettre à niveau le projet de VS2013 vers VS 2015 atm. Existe-t-il un moyen de résoudre ce problème, c'est-à-dire que je peux activer la couche de débogage D3D11 sur Windows 10 avec VS2013?

24
Christoph

Le message de débogage est un peu trompeur. Pour Windows 10, le SDK Windows n'installe plus la couche de débogage Direct3D. Au lieu de cela, vous devez activer une fonctionnalité facultative de Windows appelée "Outils graphiques" qui inclut la couche de débogage. L'installation de VS 2015 et du SDK Windows 10 sur Windows 10 devrait également activer automatiquement cette fonctionnalité, mais vous pouvez le faire directement.

(a) Panneau Paramètres -> Système -> Applications et fonctionnalités -> Gérer les fonctionnalités optionnelles -> Ajouter une fonctionnalité -> Sélectionnez "Outils graphiques"

(b) à partir d'une invite de ligne de commande admin:

Dism /online /add-capability /capabilityname:Tools.Graphics.DirectX~~~~0.0.1.0

Voir ce post .

Notez que lorsque vous effectuez une mise à niveau de Windows 10 (10240) vers la mise à jour de novembre 2015 (10586), vous devrez peut-être réactiver la fonctionnalité facultative des outils graphiques.

47
Chuck Walbourn