DirectX выдает TDR под Intel при повторном использовании очереди команд - PullRequest
0 голосов
/ 13 марта 2020

В настоящее время я работаю в среде визуализации DirectX и сталкиваюсь с неопределенным поведением под картами Intel. В настоящее время я использую тривиальную синхронизацию, так что процессор всегда ждет, пока графический процессор завершит sh после каждого ExecuteCommandLists (). Все отлично работает, рисует, копирует мои ресурсы и т. Д. c. Так как я работаю с разными «проходами» (прорисовка проходов, передача памяти, очистка прохода), у меня также есть «настоящий» проход. Там у меня есть один список команд всего с 2 задачами, использующими ресурсный барьер для преобразования цели рендеринга из цели рендеринга в текущий режим. Я использую ту же очередь команд, которая используется для цепочки обмена и где происходит все рисование. Предыдущие задачи были полностью выполнены и ожидали. Когда я пытаюсь выполнить две задачи, он производит удаление устройства под карты Intel без каких-либо дополнительных объяснений. На других картах разных производителей работает отлично. Это определенно как-то связано с очередью команд, когда я удаляю вызовы барьера ресурсов, он все равно падает. Если я создаю новую очередь команд, она запускается, но также вылетает, но в этом случае с полезным отладочным сообщением, мне нужно использовать ту же очередь, что и для цепочки подкачки.

Что здесь не так и как можно получить дополнительную информацию об удалении устройства?

Спасибо за помощь!

...