Совместное использование текстуры между двумя контекстами opengl

Я создал окно, используя GLFW3. Я создал дочернее окно, используя другой поток с GLX. Во время создания контекста GLX opengl я передаю контекст opengl главного окна (достигается glXGetCurrentContext), как sharelist параметр для контекста opengl дочернего окна, так как я хочу использовать текстуры, которые отображаются дочерним контекстом в главном окне. Но я получаю эту ошибку:

X Error of failed request:  BadMatch (invalid parameter attributes)
  Major opcode of failed request:  154 (GLX)
  Minor opcode of failed request:  3 (X_GLXCreateContext)
  Serial number of failed request:  38
  Current serial number in output stream:  39

Как я видел в glxCreateContext документация,

BadMatch генерируется, если создаваемый контекст не разделяет адресное пространство или экран контекста, указанного в shareList.

Значит ли это, что я не могу поделиться текстурой с этим контекстом?

1 ответ

Решение

Итак, я просто заметил, в чем проблема. Поскольку один из контекстов GL находится на одном графическом процессоре, а другой на другом графическом процессоре, кажется, что я не могу совместно использовать экранные объекты друг с другом. Итак, я должен использовать glXCopyImageSubDataNV скопировать текстуру из одного графического процессора в другой.

Другие вопросы по тегам