{
struct wl_egl_window *native_window;
struct surface *surface = test_data->client->surface;
+ const char *str, *mesa;
static const EGLint context_attribs[] = {
EGL_CONTEXT_CLIENT_VERSION, 2,
ret = eglMakeCurrent(test_data->egl_dpy, test_data->egl_surface,
test_data->egl_surface, test_data->egl_ctx);
assert(ret == EGL_TRUE);
+
+ /* This test is specific to mesa 10.0 and later, which is the
+ * first release that doesn't accidentally triple-buffer. */
+ str = (const char *) glGetString(GL_VERSION);
+ mesa = strstr(str, "Mesa ");
+ if (mesa == NULL)
+ skip("unknown EGL implementation (%s)\n", str);
+ if (sscanf(mesa + 5, "%d.%d", &major, &minor) != 2)
+ skip("unrecognized mesa version (%s)\n", str);
+ if (major < 10)
+ skip("mesa version too old (%s)\n", str);
+
}
TEST(test_buffer_count)
handle_global
};
+void
+skip(const char *fmt, ...)
+{
+ va_list argp;
+
+ va_start(argp, fmt);
+ vfprintf(stderr, fmt, argp);
+ va_end(argp);
+
+ /* automake tests uses exit code 77, but we don't have a good
+ * way to make weston exit with that from here. */
+ exit(0);
+}
+
static void
log_handler(const char *fmt, va_list args)
{