1 #if defined(__ANDROID__) || defined(__ODROID__)
10 int eglWidth, eglHeight;
12 #if defined(__ANDROID__)
13 bool egl_init_display(ANativeWindow* window)
15 bool egl_init_display(uint window)
18 const EGLint attribs[] =
20 EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
24 EGL_DEPTH_SIZE, 16, //24,
25 /*EGL_SAMPLE_BUFFERS, 1,
26 EGL_SAMPLES, 0, //2,*/
35 EGLDisplay display = eglGetDisplay(EGL_DEFAULT_DISPLAY);
36 eglInitialize(display, 0, 0);
37 eglChooseConfig(display, attribs, &config, 1, &numConfigs);
38 eglGetConfigAttrib(display, config, EGL_NATIVE_VISUAL_ID, &format);
40 surface = eglCreateWindowSurface(display, config, window, null);
41 context = eglCreateContext(display, config, null, null);
43 if(!eglMakeCurrent(display, surface, surface, context))
46 eglQuerySurface(display, surface, EGL_WIDTH, &w);
47 eglQuerySurface(display, surface, EGL_HEIGHT, &h);
58 void egl_term_display()
60 if(eglDisplay != EGL_NO_DISPLAY)
62 eglMakeCurrent(eglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
63 if(eglContext != EGL_NO_CONTEXT)
64 eglDestroyContext(eglDisplay, eglContext);
65 if(eglSurface != EGL_NO_SURFACE)
66 eglDestroySurface(eglDisplay, eglSurface);
67 eglTerminate(eglDisplay);
69 eglDisplay = EGL_NO_DISPLAY;
70 eglContext = EGL_NO_CONTEXT;
71 eglSurface = EGL_NO_SURFACE;
74 void egl_swap_buffers()
76 eglSwapBuffers(eglDisplay, eglSurface);