Can I build my own libEGL.so?
我在我的opengl应用程序上遇到了一个错误,有时在该应用程序运行期间会发生EGL错误:
E/libEGL: validate_display:255 error 3008 (EGL_BAD_DISPLAY)
这非常令人沮丧,因为在我创建EGLContext时,我遇到了大多数EGL_BAD_DISPLAY错误。
但是就我而言,EGL似乎突然失去了显示,这怎么可能呢? 不幸的是,我无法升级设备的操作系统(设备供应商随附的android 7.1的自定义版本)
我能想到的唯一原因是与操作系统一起提供的libEGL是有问题的,因此,如果我可以从源代码构建自己的libEGL来替换旧的libEGL,那么也许可以解决此问题。 所以我的问题是,有可能建立自己的EGL库来代替Android库吗? 如果是我该怎么办?
这取决于EGL的哪一部分出错。 Android有两层。
基本的"真实" EGL实现不太可能被替换-它通常是图形堆栈的一部分,并且与GPU供应商的OpenGL ES是相同的库,因此是封闭源。
Android本身实现了用于管理缓冲区管理的薄垫片EGL,因此,如果此部分中有错误,则您可能会对AOSP中的版本感到幸运。