Подтвердить что ты не робот

Используйте отладочный слой D3D11 с VS2013 в Windows 10

В моих проектах D3D 11 я всегда добавляю

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

к флагам создания устройства, чтобы включить вывод отладки. Поскольку я обновился до Windows 10, это больше не работает. Создание устройства завершается неудачей со следующим выходом:

D3D11CreateDevice: указаны флаги (0x2), для которых требуются слоты SDK D3D11 для Windows 10, но они отсутствуют в системе. Эти флаги должны быть удалены или должен быть установлен SDK Windows 10. Флаги включают: D3D11_CREATE_DEVICE_DEBUG

Однако я не могу использовать SDK Windows 10, и я не могу обновить проект с VS2013 до VS 2015 atm. Есть ли способ решить эту проблему, например, можно ли включить слой отладки D3D11 в Windows 10 с помощью VS2013?

4b9b3361

Ответ 1

Отладочное сообщение немного вводит в заблуждение. Для Windows 10 SDK Windows больше не устанавливает уровень отладки Direct3D. Вместо этого вам нужно включить дополнительный компонент Windows, называемый "Graphics Tools", который включает в себя слой отладки. Установка VS 2015 и Windows 10 SDK в Windows 10 также должна автоматически включать эту функцию, но вы можете сделать это напрямую.

(a) Панель настроек → Система → Приложения и функции → Управление дополнительными функциями → Добавить функцию → Выберите "Графические инструменты"

(b) из командной строки admin:

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

См. этот пост.

Обратите внимание, что при обновлении с Windows 10 (10240) до обновления 2015 года (10586) может потребоваться повторная активация дополнительной функции Graphics Tools.