struct piglit_gl_framework*
piglit_winsys_framework_factory(const struct piglit_gl_test_config *test_config)
{
    int32_t platform = piglit_wfl_framework_choose_platform(test_config);

    switch (platform) {
#ifdef PIGLIT_HAS_X11
    case WAFFLE_PLATFORM_GLX:
    case WAFFLE_PLATFORM_X11_EGL:
        return piglit_x11_framework_create(test_config, platform);
#endif

#ifdef PIGLIT_HAS_GBM
    case WAFFLE_PLATFORM_GBM:
        return piglit_gbm_framework_create(test_config);
#endif

#ifdef PIGLIT_HAS_WAYLAND
    case WAFFLE_PLATFORM_WAYLAND:
        return piglit_wl_framework_create(test_config);
#endif

#ifdef PIGLIT_HAS_WGL
    case WAFFLE_PLATFORM_WGL:
        return piglit_wgl_framework_create(test_config);
#endif

    default:
        assert(0);
        return NULL;
    }
}
Exemplo n.º 2
0
struct piglit_gl_framework*
piglit_winsys_framework_factory(const struct piglit_gl_test_config *test_config)
{
	int32_t platform = piglit_wfl_framework_choose_platform(test_config);

	switch (platform) {
#ifdef PIGLIT_HAS_X11
	case WAFFLE_PLATFORM_GLX:
	case WAFFLE_PLATFORM_X11_EGL:
		return piglit_x11_framework_create(test_config, platform);
#endif

#ifdef PIGLIT_HAS_GBM
	case WAFFLE_PLATFORM_GBM:
		return piglit_gbm_framework_create(test_config);
#endif

/* There is no need to #ifdef out Piglit support for Wayland yet
 * because Piglit calls no Wayland functions.
 */
	case WAFFLE_PLATFORM_WAYLAND:
		return piglit_wl_framework_create(test_config);
	default:
		assert(0);
		return NULL;
	}
}
Exemplo n.º 3
0
struct piglit_gl_framework*
piglit_fbo_framework_create(const struct piglit_gl_test_config *test_config)
{
#ifdef PIGLIT_USE_OPENGL_ES1
	return NULL;
#else
	struct piglit_wfl_framework *wfl_fw;
	struct piglit_gl_framework *gl_fw;

	int32_t platform = piglit_wfl_framework_choose_platform(test_config);
	bool ok = true;

	if (test_config->window_samples > 1) {
		puts("The FBO mode doesn't support multisampling\n");
		piglit_report_result(PIGLIT_FAIL);
	}

	wfl_fw = calloc(1, sizeof(*wfl_fw));
	gl_fw = &wfl_fw->gl_fw;

	ok = piglit_wfl_framework_init(wfl_fw, test_config, platform, NULL);
	if (!ok)
		goto fail;

	ok = init_gl(wfl_fw);
	if (!ok)
		goto fail;

	gl_fw->destroy = destroy;
	gl_fw->run_test = run_test;

	return gl_fw;

fail:
	destroy(gl_fw);
	return NULL;
#endif /* PIGLIT_USE_OPENGL_ES1 */
}