Home | History | Annotate | Download | only in dri2

Lines Matching refs:dri2_dpy

118    struct dri2_egl_display *dri2_dpy;
128 dri2_dpy = disp->DriverData;
136 while (dri2_dpy->core->indexConfigAttrib(dri_config, i++, &attrib, &value)) {
265 if (dri2_dpy->swap_available) {
334 dri2_bind_extensions(struct dri2_egl_display *dri2_dpy,
346 field = ((char *) dri2_dpy + matches[j].offset);
355 field = ((char *) dri2_dpy + matches[j].offset);
369 struct dri2_egl_display *dri2_dpy = disp->DriverData;
381 dri2_dpy->driver = NULL;
383 for (p = search_paths; p < end && dri2_dpy->driver == NULL; p = next + 1) {
392 "%.*s/tls/%s_dri.so", len, p, dri2_dpy->driver_name);
393 dri2_dpy->driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL);
395 if (dri2_dpy->driver == NULL) {
397 "%.*s/%s_dri.so", len, p, dri2_dpy->driver_name);
398 dri2_dpy->driver = dlopen(path, RTLD_NOW | RTLD_GLOBAL);
399 if (dri2_dpy->driver == NULL)
404 if (dri2_dpy->driver == NULL) {
407 dri2_dpy->driver_name, search_paths);
412 extensions = dlsym(dri2_dpy->driver, __DRI_DRIVER_EXTENSIONS);
416 dlclose(dri2_dpy->driver);
425 struct dri2_egl_display *dri2_dpy = disp->DriverData;
432 if (!dri2_bind_extensions(dri2_dpy, dri2_driver_extensions, extensions)) {
433 dlclose(dri2_dpy->driver);
443 struct dri2_egl_display *dri2_dpy = disp->DriverData;
446 dri2_dpy->driver_name = "swrast";
452 if (!dri2_bind_extensions(dri2_dpy, swrast_driver_extensions, extensions)) {
453 dlclose(dri2_dpy->driver);
463 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
466 if (dri2_dpy->dri2) {
467 api_mask = dri2_dpy->dri2->getAPIMask(dri2_dpy->dri_screen);
469 assert(dri2_dpy->swrast);
481 assert(dri2_dpy->dri2 || dri2_dpy->swrast);
484 if (dri2_dpy->dri2 && dri2_dpy->dri2->base.version >= 3) {
487 if (dri2_dpy->robustness)
491 if (dri2_dpy->image) {
502 struct dri2_egl_display *dri2_dpy;
504 dri2_dpy = disp->DriverData;
506 if (dri2_dpy->dri2) {
507 dri2_dpy->dri_screen =
508 dri2_dpy->dri2->createNewScreen(0, dri2_dpy->fd, dri2_dpy->extensions,
509 &dri2_dpy->driver_configs, disp);
511 assert(dri2_dpy->swrast);
512 dri2_dpy->dri_screen =
513 dri2_dpy->swrast->createNewScreen(0, dri2_dpy->extensions,
514 &dri2_dpy->driver_configs, disp);
517 if (dri2_dpy->dri_screen == NULL) {
522 dri2_dpy->own_dri_screen = 1;
524 extensions = dri2_dpy->core->getExtensions(dri2_dpy->dri_screen);
526 if (dri2_dpy->dri2) {
529 if (!dri2_bind_extensions(dri2_dpy, dri2_core_extensions, extensions))
534 dri2_dpy->robustness = (__DRIrobustnessExtension *) extensions[i];
538 assert(dri2_dpy->swrast);
539 if (!dri2_bind_extensions(dri2_dpy, swrast_core_extensions, extensions))
548 dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen);
603 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
608 if (dri2_dpy->own_dri_screen)
609 dri2_dpy->core->destroyScreen(dri2_dpy->dri_screen);
610 if (dri2_dpy->fd)
611 close(dri2_dpy->fd);
612 if (dri2_dpy->driver)
613 dlclose(dri2_dpy->driver);
614 if (dri2_dpy->device_name)
615 free(dri2_dpy->device_name);
621 xcb_disconnect(dri2_dpy->conn);
626 if (dri2_dpy->own_device) {
627 gbm_device_destroy(&dri2_dpy->gbm_dri->base.base);
636 free(dri2_dpy);
714 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
784 if (dri2_dpy->dri2) {
785 if (dri2_dpy->dri2->base.version >= 3) {
801 && !dri2_dpy->robustness) {
815 if (!dri2_dpy->robustness) {
827 dri2_dpy->dri2->createContextAttribs(dri2_dpy->dri_screen,
838 dri2_dpy->dri2->createNewContextForAPI(dri2_dpy->dri_screen,
845 assert(dri2_dpy->swrast);
847 dri2_dpy->swrast->createNewContextForAPI(dri2_dpy->dri_screen,
871 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
874 dri2_dpy->core->destroyContext(dri2_ctx->dri_context);
889 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
912 dri2_dpy->core->unbindContext(old_cctx);
916 dri2_dpy->core->bindContext(cctx, ddraw, rdraw)) {
958 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
966 (*dri2_dpy->flush->flush)(dri2_surf->dri_drawable);
988 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1019 (*dri2_dpy->tex_buffer->setTexBuffer2)(dri2_ctx->dri_context,
1031 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1050 if (dri2_dpy->tex_buffer->releaseTexBuffer!=NULL)
1051 (*dri2_dpy->tex_buffer->releaseTexBuffer)(dri2_ctx->dri_context,
1090 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1101 dri2_dpy->image->createImageFromRenderbuffer(dri2_ctx->dri_context,
1111 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1141 dri2_dpy->image->createImageFromName(dri2_dpy->dri_screen,
1178 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1202 dri_image = dri2_dpy->image->fromPlanar(buffer->driver_buffer, plane, NULL);
1238 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1243 dri2_dpy->image->destroyImage(dri2_img->dri_image);
1253 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1317 dri2_dpy->image->createImage(dri2_dpy->dri_screen,
1338 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1343 if (name && !dri2_dpy->image->queryImage(dri2_img->dri_image,
1350 dri2_dpy->image->queryImage(dri2_img->dri_image,
1354 dri2_dpy->image->queryImage(dri2_img->dri_image,
1367 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1371 img = dri2_dpy->image->createImageFromNames(dri2_dpy->dri_screen,
1382 dri2_dpy->image->queryImage(img, __DRI_IMAGE_ATTRIB_COMPONENTS, &dri_components);
1390 dri2_dpy->image->destroyImage(img);
1399 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1401 dri2_dpy->image->destroyImage(buffer->driver_buffer);
1414 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1418 if (dri2_dpy->wl_server_drm)
1422 (int(*)(void *, uint32_t)) dri2_dpy->authenticate;
1424 dri2_dpy->wl_server_drm =
1425 wayland_drm_init(wl_dpy, dri2_dpy->device_name,
1428 if (!dri2_dpy->wl_server_drm)
1438 struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
1442 if (!dri2_dpy->wl_server_drm)
1445 wayland_drm_uninit(dri2_dpy->wl_server_drm);
1446 dri2_dpy->wl_server_drm = NULL;