*/
EGLBoolean
_eglInitSurface(_EGLSurface *surf, _EGLDisplay *disp, EGLint type,
- _EGLConfig *conf, const EGLint *attrib_list)
+ _EGLConfig *conf, const EGLint *attrib_list,
+ void *native_surface)
{
const char *func;
EGLint renderBuffer = EGL_BACK_BUFFER;
surf->Height = MIN2(surf->Height, _EGL_MAX_PBUFFER_HEIGHT);
}
+ surf->NativeSurface = native_surface;
+
return EGL_TRUE;
}
*value = surface->PostSubBufferSupportedNV;
break;
case EGL_BUFFER_AGE_EXT:
- if (!disp->Extensions.EXT_buffer_age)
+ /* Both EXT_buffer_age and KHR_partial_update accept EGL_BUFFER_AGE_EXT.
+ * To be precise, the KHR one accepts EGL_BUFFER_AGE_KHR which is an
+ * alias with the same numeric value.
+ */
+ if (!disp->Extensions.EXT_buffer_age &&
+ !disp->Extensions.KHR_partial_update)
return _eglError(EGL_BAD_ATTRIBUTE, "eglQuerySurface");
_EGLContext *ctx = _eglGetCurrentContext();