我正在使用带有Tinker OS的Asus Tinkerboard(20170417-tinker-board-linaro-stretch-alip-v1.8.iso),并尝试在我的C ++应用程序中打开板上的OpenGL ES 2上下文< / p>
我找到了包含许多示例的mali图形SDK,并将它们合并到我的应用程序中。不幸的是,我的应用程序总是在调用eglCreateWindowSurface
时失败。
以下是带有API跟踪的图形调试器的图像: http://i.imgur.com/SdziQ2K.png
致电eglCreateWindowSurface
:
eglCreateWindowSurface
(
dpy = 0x7f6569f0,
config = 0x7f686160,
win = 0x7f651194,
attrib_list = NULL
)
为配置选择的属性是:
attrib_list =
[
EGL_SAMPLES,
4,
EGL_SURFACE_TYPE,
EGL_WINDOW_BIT,
EGL_DEPTH_SIZE,
16,
EGL_BLUE_SIZE,
8,
EGL_RENDERABLE_TYPE,
EGL_OPENGL_ES2_BIT,
EGL_STENCIL_SIZE,
0,
EGL_ALPHA_SIZE,
0,
EGL_GREEN_SIZE,
8,
EGL_BUFFER_SIZE,
32,
EGL_RED_SIZE,
8,
EGL_NONE
]
使用以下内容创建上下文:
attrib_list =
[
EGL_CONTEXT_CLIENT_VERSION,
2,
EGL_NONE
]
(我也尝试了几种组合,0深度,没有样本等,都导致EGL_BAD_ALLOC
)
native window
是这样的:
typedef struct fbdev_window {
unsigned short width;
unsigned short height;
} fbdev_window;
在此上下文中,width
为700,height
为480。
我尝试使用不同的显示器(第一个是我的4k电视,第二个是我的全高清显示器)但是在两个设备上都发生了同样的错误。我也尝试重启几次,以确保没有表面或已经创建或内存不足,但没有任何帮助。