Lines Matching refs:psc
141 Display *dpy = pdraw->psc->dpy; in swrastGetDrawableInfo()
184 Display *dpy = pdraw->psc->dpy; in swrastXPutImage()
263 Display *dpy = pread->psc->dpy; in swrastGetImage2()
300 Display *dpy = pread->psc->dpy; in swrastGetImageShm2()
373 struct drisw_screen *psc = (struct drisw_screen *) context->psc; in drisw_destroy_context() local
379 (*psc->core->destroyContext) (pcp->driContext); in drisw_destroy_context()
389 struct drisw_screen *psc = (struct drisw_screen *) pcp->base.psc; in drisw_bind_context() local
397 if ((*psc->core->bindContext) (pcp->driContext, in drisw_bind_context()
409 struct drisw_screen *psc = (struct drisw_screen *) pcp->base.psc; in drisw_unbind_context() local
411 (*psc->core->unbindContext) (pcp->driContext); in drisw_unbind_context()
423 struct drisw_screen *psc; in drisw_bind_tex_image() local
428 psc = (struct drisw_screen *) base->psc; in drisw_bind_tex_image()
430 if (!psc->texBuffer) in drisw_bind_tex_image()
433 if (psc->texBuffer->base.version >= 2 && in drisw_bind_tex_image()
434 psc->texBuffer->setTexBuffer2 != NULL) { in drisw_bind_tex_image()
435 (*psc->texBuffer->setTexBuffer2) (pcp->driContext, in drisw_bind_tex_image()
441 (*psc->texBuffer->setTexBuffer) (pcp->driContext, in drisw_bind_tex_image()
456 struct drisw_screen *psc; in drisw_release_tex_image() local
459 psc = (struct drisw_screen *) base->psc; in drisw_release_tex_image()
461 if (!psc->texBuffer) in drisw_release_tex_image()
464 if (psc->texBuffer->base.version >= 3 && in drisw_release_tex_image()
465 psc->texBuffer->releaseTexBuffer != NULL) { in drisw_release_tex_image()
466 (*psc->texBuffer->releaseTexBuffer) (pcp->driContext, in drisw_release_tex_image()
492 struct drisw_screen *psc = (struct drisw_screen *) base; in drisw_create_context() local
495 if (!psc->base.driScreen) in drisw_create_context()
518 if (!glx_context_init(&pcp->base, &psc->base, &config->base)) { in drisw_create_context()
526 (*psc->core->createNewContext) (psc->driScreen, in drisw_create_context()
548 struct drisw_screen *psc = (struct drisw_screen *) base; in drisw_create_context_attribs() local
561 if (!psc->base.driScreen) in drisw_create_context_attribs()
564 if (psc->swrast->base.version < 3) in drisw_create_context_attribs()
598 if (!glx_context_init(&pcp->base, &psc->base, config_base)) { in drisw_create_context_attribs()
627 (*psc->swrast->createContextAttribs) (psc->driScreen, in drisw_create_context_attribs()
649 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; in driswDestroyDrawable() local
651 (*psc->core->destroyDrawable) (pdp->driDrawable); in driswDestroyDrawable()
653 XDestroyDrawable(pdp, pdraw->psc->dpy, pdraw->drawable); in driswDestroyDrawable()
663 struct drisw_screen *psc = (struct drisw_screen *) base; in driswCreateDrawable() local
664 const __DRIswrastExtension *swrast = psc->swrast; in driswCreateDrawable()
665 Display *dpy = psc->base.dpy; in driswCreateDrawable()
673 pdp->base.psc = &psc->base; in driswCreateDrawable()
706 (*swrast->createNewDrawable) (psc->driScreen, config->driConfig, pdp); in driswCreateDrawable()
709 XDestroyDrawable(pdp, psc->base.dpy, xDrawable); in driswCreateDrawable()
725 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; in driswSwapBuffers() local
735 (*psc->core->swapBuffers) (pdp->driDrawable); in driswSwapBuffers()
745 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; in driswCopySubBuffer() local
751 (*psc->copySubBuffer->copySubBuffer) (pdp->driDrawable, in driswCopySubBuffer()
758 struct drisw_screen *psc = (struct drisw_screen *) base; in driswDestroyScreen() local
761 (*psc->core->destroyScreen) (psc->driScreen); in driswDestroyScreen()
762 driDestroyConfigs(psc->driver_configs); in driswDestroyScreen()
763 psc->driScreen = NULL; in driswDestroyScreen()
764 if (psc->driver) in driswDestroyScreen()
765 dlclose(psc->driver); in driswDestroyScreen()
766 free(psc); in driswDestroyScreen()
786 driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions) in driswBindExtensions() argument
790 __glXEnableDirectExtension(&psc->base, "GLX_SGI_make_current_read"); in driswBindExtensions()
792 if (psc->swrast->base.version >= 3) { in driswBindExtensions()
793 __glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context"); in driswBindExtensions()
794 __glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context_profile"); in driswBindExtensions()
798 __glXEnableDirectExtension(&psc->base, in driswBindExtensions()
800 __glXEnableDirectExtension(&psc->base, in driswBindExtensions()
804 if (psc->copySubBuffer) in driswBindExtensions()
805 __glXEnableDirectExtension(&psc->base, "GLX_MESA_copy_sub_buffer"); in driswBindExtensions()
810 psc->texBuffer = (__DRItexBufferExtension *) extensions[i]; in driswBindExtensions()
811 __glXEnableDirectExtension(&psc->base, "GLX_EXT_texture_from_pixmap"); in driswBindExtensions()
816 if (psc->swrast->base.version >= 3 in driswBindExtensions()
818 psc->rendererQuery = (__DRI2rendererQueryExtension *) extensions[i]; in driswBindExtensions()
819 __glXEnableDirectExtension(&psc->base, "GLX_MESA_query_renderer"); in driswBindExtensions()
823 __glXEnableDirectExtension(&psc->base, in driswBindExtensions()
827 __glXEnableDirectExtension(&psc->base, in driswBindExtensions()
864 struct drisw_screen *psc; in driswCreateScreen() local
869 psc = calloc(1, sizeof *psc); in driswCreateScreen()
870 if (psc == NULL) in driswCreateScreen()
873 if (!glx_screen_init(&psc->base, screen, priv)) { in driswCreateScreen()
874 free(psc); in driswCreateScreen()
878 extensions = driOpenDriver(SWRAST_DRIVER_NAME, &psc->driver); in driswCreateScreen()
882 if (!check_xshm(psc->base.dpy)) in driswCreateScreen()
889 psc->core = (__DRIcoreExtension *) extensions[i]; in driswCreateScreen()
891 psc->swrast = (__DRIswrastExtension *) extensions[i]; in driswCreateScreen()
893 psc->copySubBuffer = (__DRIcopySubBufferExtension *) extensions[i]; in driswCreateScreen()
896 if (psc->core == NULL || psc->swrast == NULL) { in driswCreateScreen()
901 if (psc->swrast->base.version >= 4) { in driswCreateScreen()
902 psc->driScreen = in driswCreateScreen()
903 psc->swrast->createNewScreen2(screen, loader_extensions_local, in driswCreateScreen()
905 &driver_configs, psc); in driswCreateScreen()
907 psc->driScreen = in driswCreateScreen()
908 psc->swrast->createNewScreen(screen, loader_extensions_local, in driswCreateScreen()
909 &driver_configs, psc); in driswCreateScreen()
911 if (psc->driScreen == NULL) { in driswCreateScreen()
916 extensions = psc->core->getExtensions(psc->driScreen); in driswCreateScreen()
917 driswBindExtensions(psc, extensions); in driswCreateScreen()
919 configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs); in driswCreateScreen()
920 visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs); in driswCreateScreen()
927 glx_config_destroy_list(psc->base.configs); in driswCreateScreen()
928 psc->base.configs = configs; in driswCreateScreen()
929 glx_config_destroy_list(psc->base.visuals); in driswCreateScreen()
930 psc->base.visuals = visuals; in driswCreateScreen()
932 psc->driver_configs = driver_configs; in driswCreateScreen()
934 psc->base.vtable = &drisw_screen_vtable; in driswCreateScreen()
935 psp = &psc->vtable; in driswCreateScreen()
936 psc->base.driScreen = psp; in driswCreateScreen()
941 if (psc->copySubBuffer) in driswCreateScreen()
944 return &psc->base; in driswCreateScreen()
951 if (psc->driScreen) in driswCreateScreen()
952 psc->core->destroyScreen(psc->driScreen); in driswCreateScreen()
953 psc->driScreen = NULL; in driswCreateScreen()
955 if (psc->driver) in driswCreateScreen()
956 dlclose(psc->driver); in driswCreateScreen()
957 glx_screen_cleanup(&psc->base); in driswCreateScreen()
958 free(psc); in driswCreateScreen()