2012-07-06 4 views
0

2 GPU로 병렬 렌더링을하고 싶습니다. 따라서 GPU1에서 리드 백을하고 픽셀을 GPU2로 가져와야합니다.다른 문맥에서 사용 된 glMapBufferARB의 포인터

각 GPU가 연결된 두 개의 창을 만들었습니다. 각 창에는 두 개의 스레드가 연결되어 있습니다.

그러나, readpixel + drawpixel은 병목 현상입니다. 따라서 비동기식 PBO 방법을 고려해야합니다. 두 개의 PBO는 다시 읽을 수 있고 두 개의 PBO는 다른 방법으로 다시 그릴 수 있습니다.

내 질문은 :

  1. 다른 스레드와 다른 GPU에 사용되는 포인터가 glMapBufferARB에서 반환 된 수 있을까요?
  2. 그렇지 않으면 데이터를 메인 메모리에 복사하고 다른 GPU로 복사해야합니다. 병목 현상은 CPU-> GPU 복사입니다. 더 좋은 아이디어가 있습니까?

답변

0

예, 포인터 형식 glMapBuffer는 GL 문맥이 없어도 모든 스레드에서 사용할 수 있습니다. 스레드를 동기화하고 스레드가 포인터로 작업을 끝내기 전에 glUnmapBuffer를 호출하지 마십시오.

+0

감사합니다. 시도해 보겠습니다. –

관련 문제