Я исследую GPGPU, программирующий с OpenGL + GLSL. Одна проблема состоит в том, что, если у вас есть шейдер, который занимает много времени, чтобы закончиться, это, кажется, невозможно отменить его.
После подготовки всего я выпускаю финал glReadPixels
требование, которое блокирует, пока все пиксели не были предоставлены к кадровому буферу. В зависимости от шейдера это могло занять много времени, даже секунды. Есть ли способ отменить требование (от другой нити) или даже подвергнуть сомнению прогресс? Что происходит, если вы настраиваете бесконечный цикл в шейдере?