Я знаю, что разделение одного контекста между потоками - плохая новость. Я знаю, что могу безопасно создавать и использовать контекст с закадровым кадровым буфером во вторичном потоке, когда ничего не происходит с GL в основном потоке.
Мне пока не удалось найти однозначного ответа на вопрос, могу ли я безопасно создать два контекста в двух разных потоках (скажем, рисование основного потока на экране и вторичного потока, выполняющего работу по рисованию вне экрана) и они оба будут одновременно выполнять вызовы функций GL.
Другими словами, если контексты разные, могут ли два потока «совместно использовать» C API и, следовательно, GPU? Или это то, что по своей сути не подлежит обмену? Или это зависит от реализации?
Спросите специально для OpenGL ES на iOS, но, вероятно, это общий вопрос GL.