Lines Matching defs:psc

144    Display *dpy = pdraw->psc->dpy;
187 Display *dpy = pdraw->psc->dpy;
278 Display *dpy = pread->psc->dpy;
315 Display *dpy = pread->psc->dpy;
378 out->xcb.connection = XGetXCBConnection(draw->psc->dpy);
419 struct drisw_screen *psc = (struct drisw_screen *) context->psc;
425 (*psc->core->destroyContext) (pcp->driContext);
435 struct drisw_screen *psc = (struct drisw_screen *) pcp->base.psc;
443 if (!(*psc->core->bindContext) (pcp->driContext,
447 if (psc->f) {
449 psc->f->invalidate(pdraw->driDrawable);
451 psc->f->invalidate(pread->driDrawable);
461 struct drisw_screen *psc = (struct drisw_screen *) pcp->base.psc;
463 (*psc->core->unbindContext) (pcp->driContext);
485 struct drisw_screen *psc;
488 psc = (struct drisw_screen *) base->psc;
490 if (!psc->texBuffer)
493 if (psc->texBuffer->base.version >= 2 &&
494 psc->texBuffer->setTexBuffer2 != NULL) {
495 (*psc->texBuffer->setTexBuffer2) (pcp->driContext,
501 (*psc->texBuffer->setTexBuffer) (pcp->driContext,
514 struct drisw_screen *psc;
517 psc = (struct drisw_screen *) base->psc;
519 if (!psc->texBuffer)
522 if (psc->texBuffer->base.version >= 3 &&
523 psc->texBuffer->releaseTexBuffer != NULL) {
524 (*psc->texBuffer->releaseTexBuffer) (pcp->driContext,
537 struct drisw_screen *psc = (struct drisw_screen *) pdraw->psc;
539 if (psc->kopper)
540 return psc->kopper->queryBufferAge(pdp->driDrawable);
563 struct drisw_screen *psc = (struct drisw_screen *) base;
570 if (!psc->base.driScreen)
573 if (psc->swrast->base.version < 3)
609 if (!glx_context_init(&pcp->base, &psc->base, config_base)) {
641 (*psc->swrast->createContextAttribs) (psc->driScreen,
663 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
665 (*psc->core->destroyDrawable) (pdp->driDrawable);
667 XDestroyDrawable(pdp, pdraw->psc->dpy, pdraw->drawable);
678 struct drisw_screen *psc = (struct drisw_screen *) base;
679 const __DRIswrastExtension *swrast = psc->swrast;
680 const __DRIkopperExtension *kopper = psc->kopper;
681 Display *dpy = psc->base.dpy;
689 pdp->base.psc = &psc->base;
723 (*kopper->createNewDrawable) (psc->driScreen, config->driConfig, pdp, !(type & GLX_WINDOW_BIT));
725 pdp->swapInterval = dri_get_initial_swap_interval(psc->driScreen, psc->config);
726 psc->kopper->setSwapInterval(pdp->driDrawable, pdp->swapInterval);
730 (*swrast->createNewDrawable) (psc->driScreen, config->driConfig, pdp);
733 XDestroyDrawable(pdp, psc->base.dpy, xDrawable);
749 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
759 if (psc->kopper)
760 return psc->kopper->swapBuffers (pdp->driDrawable);
762 (*psc->core->swapBuffers) (pdp->driDrawable);
772 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
778 (*psc->copySubBuffer->copySubBuffer) (pdp->driDrawable,
785 struct drisw_screen *psc = (struct drisw_screen *) base;
788 (*psc->core->destroyScreen) (psc->driScreen);
789 driDestroyConfigs(psc->driver_configs);
790 psc->driScreen = NULL;
791 if (psc->driver)
792 dlclose(psc->driver);
793 free(psc);
799 struct drisw_screen *psc = (struct drisw_screen *) glx_screen;
800 return strdup(psc->name);
812 driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions)
816 __glXEnableDirectExtension(&psc->base, "GLX_SGI_make_current_read");
818 if (psc->swrast->base.version >= 3) {
819 __glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context");
820 __glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context_profile");
821 __glXEnableDirectExtension(&psc->base, "GLX_EXT_no_config_context");
825 __glXEnableDirectExtension(&psc->base,
827 __glXEnableDirectExtension(&psc->base,
831 if (psc->copySubBuffer)
832 __glXEnableDirectExtension(&psc->base, "GLX_MESA_copy_sub_buffer");
837 psc->texBuffer = (__DRItexBufferExtension *) extensions[i];
838 __glXEnableDirectExtension(&psc->base, "GLX_EXT_texture_from_pixmap");
843 if (psc->swrast->base.version >= 3
845 psc->rendererQuery = (__DRI2rendererQueryExtension *) extensions[i];
846 __glXEnableDirectExtension(&psc->base, "GLX_MESA_query_renderer");
848 if (psc->rendererQuery->queryInteger(psc->driScreen,
851 __glXEnableDirectExtension(&psc->base,
856 __glXEnableDirectExtension(&psc->base,
860 __glXEnableDirectExtension(&psc->base,
864 psc->f = (__DRI2flushExtension *) extensions[i];
866 psc->config = (__DRI2configQueryExtension *) extensions[i];
870 if (psc->kopper) {
871 __glXEnableDirectExtension(&psc->base, "GLX_EXT_buffer_age");
872 __glXEnableDirectExtension(&psc->base, "GLX_EXT_swap_control");
873 __glXEnableDirectExtension(&psc->base, "GLX_SGI_swap_control");
874 __glXEnableDirectExtension(&psc->base, "GLX_MESA_swap_control");
876 // __glXEnableDirectExtension(&psc->base, "GLX_EXT_swap_control_tear");
916 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
918 if (!dri_valid_swap_interval(psc->driScreen, psc->config, interval))
921 psc->kopper->setSwapInterval(pdp->driDrawable, interval);
942 struct drisw_screen *psc;
948 psc = calloc(1, sizeof *psc);
949 if (psc == NULL)
952 if (!glx_screen_init(&psc->base, screen, priv)) {
953 free(psc);
957 extensions = driOpenDriver(driver, &psc->driver);
960 psc->name = driver;
964 else if (!check_xshm(psc->base.dpy))
971 psc->core = (__DRIcoreExtension *) extensions[i];
973 psc->swrast = (__DRIswrastExtension *) extensions[i];
975 psc->kopper = (__DRIkopperExtension *) extensions[i];
977 psc->copySubBuffer = (__DRIcopySubBufferExtension *) extensions[i];
980 if (psc->core == NULL || psc->swrast == NULL) {
985 if (psc->swrast->base.version >= 4) {
986 psc->driScreen =
987 psc->swrast->createNewScreen2(screen, loader_extensions_local,
989 &driver_configs, psc);
991 psc->driScreen =
992 psc->swrast->createNewScreen(screen, loader_extensions_local,
993 &driver_configs, psc);
995 if (psc->driScreen == NULL) {
1000 extensions = psc->core->getExtensions(psc->driScreen);
1001 driswBindExtensions(psc, extensions);
1003 configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs);
1004 visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs);
1011 glx_config_destroy_list(psc->base.configs);
1012 psc->base.configs = configs;
1013 glx_config_destroy_list(psc->base.visuals);
1014 psc->base.visuals = visuals;
1016 psc->driver_configs = driver_configs;
1018 psc->base.vtable = &drisw_screen_vtable;
1019 psc->base.context_vtable = &drisw_context_vtable;
1020 psp = &psc->vtable;
1021 psc->base.driScreen = psp;
1028 if (psc->copySubBuffer)
1031 if (psc->kopper) {
1038 return &psc->base;
1045 if (psc->driScreen)
1046 psc->core->destroyScreen(psc->driScreen);
1047 psc->driScreen = NULL;
1049 if (psc->driver)
1050 dlclose(psc->driver);
1051 glx_screen_cleanup(&psc->base);
1052 free(psc);