glTestFenceNV始终使用glReadPixels返回false

时间:2011-08-06 17:44:05

标签: opengl synchronization

我有一个设置,我使用glReadPixels渲染到FBO并回读主机PBO。

为了不用glMapBuffer im使用FENCE_NV扩展来阻止渲染线程来检查状态。

但是,如果我在glReadPixels之后调用glSetFenceNV,那么无论我等多久,glTestFenceNV总会返回false。

另一方面,如果我将glSetFenceNV放在glReadPixels之前,那么一切正常,但是栅栏只会发出渲染状态,而不是传回主机内存,glMapBuffer可能仍会阻塞。

为什么它的行为如此?

1 个答案:

答案 0 :(得分:0)

似乎我必须在glReadPixels之后调用glFlush,否则它将无效。