代码之家  ›  专栏  ›  技术社区  ›  wdanxna

我能建立自己的libegl吗?

  •  0
  • wdanxna  · 技术社区  · 6 年前

    我在我的opengl应用程序上遇到了一个bug,有时 在应用程序运行期间 发生EGL错误:

    e/libegl:validate_display:255错误3008(egl_bad_display)

    这非常令人沮丧,因为大多数egl_bad_显示了各种错误,因为我的经验是在eglcontext创建时发生的。

    但在我看来,egl似乎突然失去了它的显示,这怎么可能呢?不幸的是,我无法升级我设备的操作系统(它是一个由设备供应商提供的android 7.1的自定义版本)

    我能想到的唯一原因是libegl随操作系统一起提供的是buggy,因此如果我可以从源代码构建自己的libegl来替换旧的libegl,那么也许我可以解决这个问题。所以我的问题是 有没有可能建立我自己的egl库来取代android?如果是我该怎么做?

    1 回复  |  直到 6 年前
        1
  •  0
  •   solidpixel    6 年前

    这取决于egl的哪个部分有错误;android有两层。

    底层的“真实”egl实现不太可能是可替换的——它通常是图形堆栈的一部分,与gpu供应商的opengl es是同一个库,因此是封闭源代码的。

    android本身实现了一个处理缓冲区管理的瘦填充egl,因此如果这个错误出现在这一部分,那么您可能会对aosp中的版本感到幸运。