Что делать если завис шейдер?

Если зависла прога, то все понятно — ЦП на 100%, но мы можем грохнуть процесс из диспетчера задач.
А что делать если завис шейдер? Например, получился бесконечный цикл?
У меня в love2d весь комп тут же зависает наглухо, я даже до диспетчера задач добраться не могу. Потом каждые 4 секунды перезапускается драйвер видеокарты (монитор отключается и включается снова), картинка при этом не обновляется. Помогает только hard reset.

В Unity3D, насколько я знаю, движок сам грохает шейдер если он выполняется дольше 1 секунды (самому удалось там соорудить бесконечный цикл).

Вариант не делать бесконечных циклов (например делать счетчик кол-ва итераций, если больше 300 — выходим) — не предлагать. Меня интересует как выбраться из такой ситуации, а не создавать ее.

И еще интересно — бывали ли у вас подобные случаи и в каких движках что происходило. Как вам удавалось выбраться?