根据官方文档,共享上下文的数量没有限制。 但在 Android 客户端上,我有一个 eglContext 作为共享上下文参数。当调用
eglCreateContext
创建大于等于32个eglContext时,会返回EGL_NO_CONTEXT
,错误信息为EGL_BAD_ALLOC
。
我尝试阅读源代码找出原因,但是
eglCreateContext
是由gpu供应商闭源的gEGLImpl
实现的。
根据官方文档,共享上下文的数量没有限制。
规范明确指出
eglCreateContext()
是允许失败的,EGL 函数失败的可能原因之一是 BAD_ALLOC
,即缺乏资源。
没有记录在案的限制,上面有数字,但这与“没有限制”不同。每个系统都是有限的,即使只是内存,所以永远不要相信分配资源时没有限制......
无论哪种情况,是的,限制是由实现定义的,并且可能因硬件供应商而异。