Mesa EGL 不工作,甚至没有初始化

Mesa EGL 不工作,甚至没有初始化

现在已经快一周了,我不知道出了什么问题!任何指示将不胜感激(双关语)!

Ubuntu 12.04 x86_64
Mesa-8.0.4

./configure --enable-64-bit --enable-pic -enable-opengl --enable-gles2 --enable-xorg --enable-egl --enable-glu --with-x

(也尝试过Mesa的apt-get包)

ls /usr/local/lib | grep EGL  
libEGL.so@  
libEGL.so.1@  
libEGL.so.1.0*  

运行简单的教程代码时

display = eglGetDisplay(EGL_DEFAULT_DISPLAY);  
EGLBoolean err = eglInitialize(display, NULL, NULL);

初始化失败并且进一步的函数返回EGL_NOT_INITIALIZED

答案1

在 X 桌面下,您无法使用EGL_DEFAULT_DISPLAY.您必须传递eglGetDisplay()一个指向有效 Xlib 的指针Display。例如:

EGLBoolean ok;

Display *xlib_dpy = XOpenDisplay(NULL);
if (!xlib_dpy)
  return;

EGLDisplay egl_dpy = eglGetDisplay(xlib_dpy);
if (!egl_dpy)
  return;

int major;
int minor;
ok = eglInitialize(egl_dpy, &major, &minor);
if (!ok)
  return;

if (10 * major + minor != 14) {
  /* EGL is too old; */
  return;
}

相关内容