У меня есть установка, в которой я рендеринг на FBO и чтение обратно на хост PBO, используя glReadPixels.
Чтобы не блокировать поток рендеринга с помощью glMapBuffer im, используйте расширение FENCE_NV для проверки состояния.
Однако, если я вызываю glSetFenceNV после glReadPixels, то glTestFenceNV всегда возвращает false, независимо от того, как долго я буду ждать.
С другой стороны, если я поставлю glSetFenceNV перед glReadPixels, тогда все будет работать нормально, однако забор будет только сигнализировать о состоянии рендеринга, а не о возврате в память хоста, glMapBuffer все равно может заблокироваться.
Есть идеи, почему он так себя ведет?