Graphics 使用EGL_IMAGE_PRESERVED_KHR属性

Graphics 使用EGL_IMAGE_PRESERVED_KHR属性,graphics,opengl-es-2.0,Graphics,Opengl Es 2.0,eglCreateImageKHR中EGL_IMAGE_PRESERVED_KHR属性的用途是什么(EGLDisplay dpy、EGLContext ctx、EGLenum目标、EGLClientBuffer缓冲区、const EGLint*属性列表) 功能?这是否意味着egl图像是双缓冲的,我们可以重用像素数据进行一些后处理?根据: 如果属性EGL_IMAGE_PRESERVED_KHR的值为EGL_FALSE(默认值),则在eglCreateImageKHR返回后,与之关联的所有像素数据值

eglCreateImageKHR中EGL_IMAGE_PRESERVED_KHR属性的用途是什么(EGLDisplay dpy、EGLContext ctx、EGLenum目标、EGLClientBuffer缓冲区、const EGLint*属性列表) 功能?这是否意味着egl图像是双缓冲的,我们可以重用像素数据进行一些后处理?

根据:

如果属性EGL_IMAGE_PRESERVED_KHR的值为EGL_FALSE(默认值),则在eglCreateImageKHR返回后,与之关联的所有像素数据值都将未定义

如果属性EGL_IMAGE_PRESERVED_KHR的值为EGL_TRUE,则将保留与相关联的所有像素数据值。”


换句话说,如果您想确保在创建eglImage后保留原始图像的内容,则需要将此标志设置为TRUE(否则实现可以随意丢弃原始内容).

非常感谢您的回复。在我的应用程序中,egl图像会针对每一帧进行更新,因此如果将egl_image_PRESERVED_KHR设置为egl_TRUE,我们可以在当前帧中重复使用前一帧的像素数据值吗?如果可以,请告诉我如何在创建egl图像后对其内容进行相同的更新无论EGL_IMAGE_preserved_KHR的值是多少,都不会被保留。唯一受此标志影响的想法是,在创建EGLImage时,是否会保留对源对象(如创建EGLImage的纹理或pixmap)所做的更新。