0
나는 FBO로 렌더링하고 glReadPixels를 사용하여 PBO를 다시 호스트로 읽어들입니다.glTestFenceNV는 항상 glReadPixels에서 false를 반환합니다.
상태를 확인하기 위해 FENCE_NV 확장자를 사용하여 glMapBuffer im으로 렌더링 스레드를 차단하지 않기 위해서.
그러나 glReadPixels 다음에 glSetFenceNV를 호출하면 glTestFenceNV는 내가 기다린 시간에 관계없이 항상 false를 반환합니다.
반면 glReadPixels 전에 glSetFenceNV를 넣으면 모든 것이 잘 작동하지만 펜스는 호스트 메모리로의 전송이 아니라 렌더링의 상태 만 신호로 알립니다. glMapBuffer는 여전히 차단 될 수 있습니다.
왜 이런 행동을하는가?