Преднамеренный бесконечный цикл в функции Metal shader не блокирует графический процессор - PullRequest
1 голос
/ 19 марта 2019

Я создаю инструмент командной строки с использованием Metal.Я намеренно поместил for(;;) внутри своей функции ядра, и я ожидаю увидеть, как дисплей Mac замерзнет, ​​пока не произойдет timeout.Я попробовал в каком-то приложении Metal с MTLView, и машина зависла.

Сообщение об ошибке:

Execution of the command buffer was aborted due to an error during execution.
Caused GPU Timeout Error (IOAF code 2)

Но этого не происходит с инструментом командной строки, который я создаю.Я не знаю, почему он не блокирует графический процессор.Я думал, что все мои потоки будут продолжать использовать ресурс графического процессора, и поэтому дисплей будет зависать.

Почему этого не происходит?

...