Allocating buffers
When using OpenGL ES/EGL, there is only a small set of APIs that actually lead to long-term video memory buffer allocation:
glBufferData(enum target, sizeiptr size, const void *data,
enum usage)
glTexImage2D(enum target, int level, int internalFormat, sizei width,
sizei height, int border, enum format, enum type, const void *pixels)
glCopyTexImage2D(enum target, int level, enum internalformat, int x,
int y, sizei width, sizei height, int border)
Note:
The glCopyTexImage2D
function allocates only when it copies to a null.
eglCreateWindowSurface(EGLDisplay dpy, EGLConfig config,
NativeWindowType win, const EGLint *attrib_list)
eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig config, const
EGLint *attrib_list)
eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig config,
NativePixmapType pixmap, const EGLint *attrib_list)