Home | History | Annotate | Download | only in glx

Lines Matching defs:psc

100    Display *dpy = pdraw->psc->dpy;
142 Display *dpy = pdraw->psc->dpy;
186 Display *dpy = pread->psc->dpy;
235 struct drisw_screen *psc = (struct drisw_screen *) context->psc;
241 (*psc->core->destroyContext) (pcp->driContext);
251 struct drisw_screen *psc = (struct drisw_screen *) pcp->base.psc;
262 if ((*psc->core->bindContext) (pcp->driContext,
273 struct drisw_screen *psc = (struct drisw_screen *) pcp->base.psc;
275 (*psc->core->unbindContext) (pcp->driContext);
287 struct drisw_screen *psc;
292 psc = (struct drisw_screen *) base->psc;
294 if (!psc->texBuffer)
297 if (psc->texBuffer->base.version >= 2 &&
298 psc->texBuffer->setTexBuffer2 != NULL) {
299 (*psc->texBuffer->setTexBuffer2) (pcp->driContext,
305 (*psc->texBuffer->setTexBuffer) (pcp->driContext,
320 struct drisw_screen *psc;
323 psc = (struct drisw_screen *) base->psc;
325 if (!psc->texBuffer)
328 if (psc->texBuffer->base.version >= 3 &&
329 psc->texBuffer->releaseTexBuffer != NULL) {
330 (*psc->texBuffer->releaseTexBuffer) (pcp->driContext,
356 struct drisw_screen *psc = (struct drisw_screen *) base;
359 if (!psc->base.driScreen)
382 if (!glx_context_init(&pcp->base, &psc->base, &config->base)) {
390 (*psc->core->createNewContext) (psc->driScreen,
412 struct drisw_screen *psc = (struct drisw_screen *) base;
424 if (!psc->base.driScreen)
427 if (psc->swrast->base.version < 3)
454 if (!glx_context_init(&pcp->base, &psc->base, &config->base)) {
476 (*psc->swrast->createContextAttribs) (psc->driScreen,
498 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
500 (*psc->core->destroyDrawable) (pdp->driDrawable);
502 XDestroyDrawable(pdp, pdraw->psc->dpy, pdraw->drawable);
512 struct drisw_screen *psc = (struct drisw_screen *) base;
514 const __DRIswrastExtension *swrast = psc->swrast;
522 pdp->base.psc = &psc->base;
524 ret = XCreateDrawable(pdp, psc->base.dpy, xDrawable, modes->visualID);
532 (*swrast->createNewDrawable) (psc->driScreen, config->driConfig, pdp);
535 XDestroyDrawable(pdp, psc->base.dpy, xDrawable);
551 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
561 (*psc->core->swapBuffers) (pdp->driDrawable);
571 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
577 (*psc->copySubBuffer->copySubBuffer) (pdp->driDrawable,
584 struct drisw_screen *psc = (struct drisw_screen *) base;
587 (*psc->core->destroyScreen) (psc->driScreen);
588 driDestroyConfigs(psc->driver_configs);
589 psc->driScreen = NULL;
590 if (psc->driver)
591 dlclose(psc->driver);
592 free(psc);
616 driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions)
620 __glXEnableDirectExtension(&psc->base, "GLX_SGI_make_current_read");
622 if (psc->swrast->base.version >= 3) {
623 __glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context");
624 __glXEnableDirectExtension(&psc->base, "GLX_ARB_create_context_profile");
628 __glXEnableDirectExtension(&psc->base,
630 __glXEnableDirectExtension(&psc->base,
634 if (psc->copySubBuffer)
635 __glXEnableDirectExtension(&psc->base, "GLX_MESA_copy_sub_buffer");
640 psc->texBuffer = (__DRItexBufferExtension *) extensions[i];
641 __glXEnableDirectExtension(&psc->base, "GLX_EXT_texture_from_pixmap");
646 if (psc->swrast->base.version >= 3
648 psc->rendererQuery = (__DRI2rendererQueryExtension *) extensions[i];
649 __glXEnableDirectExtension(&psc->base, "GLX_MESA_query_renderer");
660 struct drisw_screen *psc;
664 psc = calloc(1, sizeof *psc);
665 if (psc == NULL)
668 if (!glx_screen_init(&psc->base, screen, priv)) {
669 free(psc);
673 psc->driver = driOpenSwrast();
674 if (psc->driver == NULL)
677 extensions = driGetDriverExtensions(psc->driver, SWRAST_DRIVER_NAME);
683 psc->core = (__DRIcoreExtension *) extensions[i];
685 psc->swrast = (__DRIswrastExtension *) extensions[i];
687 psc->copySubBuffer = (__DRIcopySubBufferExtension *) extensions[i];
690 if (psc->core == NULL || psc->swrast == NULL) {
695 if (psc->swrast->base.version >= 4) {
696 psc->driScreen =
697 psc->swrast->createNewScreen2(screen, loader_extensions,
699 &driver_configs, psc);
701 psc->driScreen =
702 psc->swrast->createNewScreen(screen, loader_extensions,
703 &driver_configs, psc);
705 if (psc->driScreen == NULL) {
710 extensions = psc->core->getExtensions(psc->driScreen);
711 driswBindExtensions(psc, extensions);
713 configs = driConvertConfigs(psc->core, psc->base.configs, driver_configs);
714 visuals = driConvertConfigs(psc->core, psc->base.visuals, driver_configs);
721 glx_config_destroy_list(psc->base.configs);
722 psc->base.configs = configs;
723 glx_config_destroy_list(psc->base.visuals);
724 psc->base.visuals = visuals;
726 psc->driver_configs = driver_configs;
728 psc->base.vtable = &drisw_screen_vtable;
729 psp = &psc->vtable;
730 psc->base.driScreen = psp;
735 if (psc->copySubBuffer)
738 return &psc->base;
745 if (psc->driScreen)
746 psc->core->destroyScreen(psc->driScreen);
747 psc->driScreen = NULL;
749 if (psc->driver)
750 dlclose(psc->driver);
751 glx_screen_cleanup(&psc->base);
752 free(psc);