case EGL_PLATFORM_SURFACELESS_MESA:
disp = _eglGetSurfacelessDisplay(native_display, attrib_list);
break;
+#endif
+#ifdef HAVE_ANDROID_PLATFORM
+ case EGL_PLATFORM_ANDROID_KHR:
+ disp = _eglGetAndroidDisplay(native_display, attrib_list);
+ break;
#endif
case EGL_PLATFORM_DEVICE_EXT:
disp = _eglGetDeviceDisplay(native_display, attrib_list);
if (!num_config)
RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE);
- if (drv->API.GetConfigs)
- ret = drv->API.GetConfigs(drv, disp, configs, config_size, num_config);
- else
- ret = _eglGetConfigs(drv, disp, configs, config_size, num_config);
+ ret = _eglGetConfigs(drv, disp, configs, config_size, num_config);
RETURN_EGL_EVAL(disp, ret);
}
if (!num_config)
RETURN_EGL_ERROR(disp, EGL_BAD_PARAMETER, EGL_FALSE);
- if (drv->API.ChooseConfig)
- ret = drv->API.ChooseConfig(drv, disp, attrib_list, configs,
- config_size, num_config);
- else
- ret = _eglChooseConfig(drv, disp, attrib_list, configs,
- config_size, num_config);
+ ret = _eglChooseConfig(drv, disp, attrib_list, configs,
+ config_size, num_config);
RETURN_EGL_EVAL(disp, ret);
}
_EGL_CHECK_CONFIG(disp, conf, EGL_FALSE, drv);
- if (drv->API.GetConfigAttrib)
- ret = drv->API.GetConfigAttrib(drv, disp, conf, attribute, value);
- else
- ret = _eglGetConfigAttrib(drv, disp, conf, attribute, value);
+ ret = _eglGetConfigAttrib(drv, disp, conf, attribute, value);
RETURN_EGL_EVAL(disp, ret);
}
_EGL_CHECK_CONTEXT(disp, context, EGL_FALSE, drv);
- if (drv->API.QueryContext)
- ret = drv->API.QueryContext(drv, disp, context, attribute, value);
- else
- ret = _eglQueryContext(drv, disp, context, attribute, value);
+ ret = _eglQueryContext(drv, disp, context, attribute, value);
RETURN_EGL_EVAL(disp, ret);
}
_EGL_FUNC_START(disp, EGL_OBJECT_SURFACE_KHR, surf, EGL_FALSE);
_EGL_CHECK_SURFACE(disp, surf, EGL_FALSE, drv);
- if (drv->API.SurfaceAttrib)
- ret = drv->API.SurfaceAttrib(drv, disp, surf, attribute, value);
- else
- ret = _eglSurfaceAttrib(drv, disp, surf, attribute, value);
+ ret = _eglSurfaceAttrib(drv, disp, surf, attribute, value);
RETURN_EGL_EVAL(disp, ret);
}
surf->Config->MinSwapInterval,
surf->Config->MaxSwapInterval);
- if (surf->SwapInterval != interval)
- ret = drv->API.SwapInterval(drv, disp, surf, interval);
- else
+ if (surf->SwapInterval != interval) {
+ if (drv->API.SwapInterval)
+ ret = drv->API.SwapInterval(drv, disp, surf, interval);
+ else
+ ret = _eglSwapInterval(drv, disp, surf, interval);
+ }
+ else {
ret = EGL_TRUE;
+ }
if (ret)
surf->SwapInterval = interval;
_EGLDisplay *disp = _eglLockDisplay(dpy);
_EGLConfig *conf = _eglLookupConfig(config, disp);
_EGLDriver *drv;
- _EGLSurface *surf;
- EGLSurface ret;
_EGL_FUNC_START(disp, EGL_OBJECT_DISPLAY_KHR, NULL, EGL_NO_SURFACE);
_EGL_CHECK_CONFIG(disp, conf, EGL_NO_SURFACE, drv);
- surf = drv->API.CreatePbufferFromClientBuffer(drv, disp, buftype, buffer,
- conf, attrib_list);
- ret = (surf) ? _eglLinkSurface(surf) : EGL_NO_SURFACE;
-
- RETURN_EGL_EVAL(disp, ret);
+ /* OpenVG is not supported */
+ RETURN_EGL_ERROR(disp, EGL_BAD_ALLOC, EGL_NO_SURFACE);
}
assert(disp->Extensions.KHR_reusable_sync ||
disp->Extensions.KHR_fence_sync ||
disp->Extensions.ANDROID_native_fence_sync);
- ret = drv->API.GetSyncAttrib(drv, disp, s, attribute, value);
+
+ ret = _eglGetSyncAttrib(drv, disp, s, attribute, value);
RETURN_EGL_EVAL(disp, ret);
}