I am using recipes from meta-fsl-arm (master) gpu-viv-bin-mx6q_1.1.0, xf86-dri-vivante_1.1.0, xf86-video-imxfb-vivante_1.1.0 to build various graphics packages from Freescale.
Xorg version is 1.11.2, kernel version is 3.5.7 and galcore driver is 4.6.9.
galcore, vivante, imxdrm, imx_fbdev and related modules are loaded.
Xorg.log shows loading the Vivante driver and opening the drm device.
I am trying to run the simple rotating triangle application. An X11 window is created to display the triangle drawn using OpenGLES 2.0 api.
After setting up the EGL context, when eglMakeCurrent is called, it segfaults.
static const EGLint attr[] =
{
EGL_RED_SIZE, 5,
EGL_GREEN_SIZE, 6,
EGL_BLUE_SIZE, 5,
EGL_ALPHA_SIZE, EGL_DONT_CARE,
EGL_NONE
};
....
eglMakeCurrent(eglDisplay, eglWindowSurface, eglWindowSurface, eglContext);
If however eglMakeCurrent is called as follows:
eglMakeCurrent(eglDisplay, eglWindowSurface, EGL_NO_SURFACE, eglContext);
EGL_BAD_MATCH error occurs. It seems segfault occurs later in the function.
Can anyone suggest any way to debug this problem? Much appreciated.
Thanks!
已解决! 转到解答。
AndreSilva May 3, 2013 11:35 AM (in response to jun sun)
You don´t have to use the driver generated by the source code. Instead, you use the driver built in kernel. The only things you get from the gpu source is the libraries... the .ko comes from kernel.
AndreSilva May 3, 2013 11:35 AM (in response to jun sun)
You don´t have to use the driver generated by the source code. Instead, you use the driver built in kernel. The only things you get from the gpu source is the libraries... the .ko comes from kernel.