Совместное использование текстуры между двумя контекстами 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
скопировать текстуру из одного графического процессора в другой.