static void test_setup(EGLDisplay *dpy) { EGLint egl_major, egl_minor; piglit_require_egl_extension(EGL_NO_DISPLAY, "EGL_MESA_platform_surfaceless"); *dpy = piglit_egl_get_default_display(EGL_PLATFORM_SURFACELESS_MESA); if (*dpy == EGL_NO_DISPLAY) { printf("failed to get EGLDisplay\n"); piglit_report_result(PIGLIT_SKIP); } if (!eglInitialize(*dpy, &egl_major, &egl_minor)) { printf("eglInitialize failed\n"); piglit_report_result(PIGLIT_FAIL); } }
static enum piglit_result init_display(EGLenum platform, EGLDisplay *out_dpy) { enum piglit_result result = PIGLIT_PASS; EGLDisplay dpy; EGLint egl_major, egl_minor; bool ok; dpy = piglit_egl_get_default_display(platform); if (!dpy) { result = PIGLIT_SKIP; goto error; } ok = eglInitialize(dpy, &egl_major, &egl_minor); if (!ok) { result = PIGLIT_SKIP; goto error; } if (!piglit_is_egl_extension_supported(dpy, "EGL_KHR_fence_sync")) { piglit_loge("display does not support EGL_KHR_fence_sync"); result = PIGLIT_SKIP; goto error; } *out_dpy = dpy; return result; error: if (dpy) { eglTerminate(dpy); } return result; }