示例#1
0
文件: main.c 项目: 365ffffff/drm
int main(int argc, char** argv)
{
	struct kms_driver *kms;
	int ret, fd, i;

	for (i = 0, fd = -1; fd < 0 && drivers[i]; i++)
		fd = drmOpen(drivers[i], NULL);
	CHECK_RET_RETURN(fd, "Could not open device");

	ret = kms_create(fd, &kms);
	CHECK_RET_RETURN(ret, "Failed to create kms driver");

	ret = test_bo(kms);
	if (ret)
		goto err;

	printf("%s: All ok!\n", __func__);

	kms_destroy(&kms);
	return 0;

err:
	kms_destroy(&kms);
	return ret;
}
示例#2
0
文件: drm_egl.c 项目: yoimbert/mpv
static void drm_egl_uninit(MPGLContext *ctx)
{
    struct priv *p = ctx->priv;
    crtc_release(ctx);

    if (p->vt_switcher_active)
        vt_switcher_destroy(&p->vt_switcher);

    eglMakeCurrent(p->egl.display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
    eglDestroyContext(p->egl.display, p->egl.context);
    eglDestroySurface(p->egl.display, p->egl.surface);
    gbm_surface_destroy(p->gbm.surface);
    eglTerminate(p->egl.display);
    gbm_device_destroy(p->gbm.device);
    p->egl.context = EGL_NO_CONTEXT;
    eglDestroyContext(p->egl.display, p->egl.context);

    if (p->kms) {
        kms_destroy(p->kms);
        p->kms = 0;
    }
}
示例#3
0
void bo_device_deinit(struct omap_device *dev)
{
	if (dev->bo_dev)
		kms_destroy(dev->bo_dev);
}