Lines Matching refs:pdp

57 XCreateDrawable(struct drisw_drawable * pdp, int shmid, Display * dpy)  in XCreateDrawable()  argument
59 if (pdp->ximage) { in XCreateDrawable()
60 XDestroyImage(pdp->ximage); in XCreateDrawable()
61 pdp->ximage = NULL; in XCreateDrawable()
62 if ((pdp->shminfo.shmid > 0) && (shmid != pdp->shminfo.shmid)) in XCreateDrawable()
63 XShmDetach(dpy, &pdp->shminfo); in XCreateDrawable()
67 pdp->shminfo.shmid = shmid; in XCreateDrawable()
68 pdp->ximage = XShmCreateImage(dpy, in XCreateDrawable()
70 pdp->xDepth, in XCreateDrawable()
73 &pdp->shminfo, /* shminfo */ in XCreateDrawable()
75 if (pdp->ximage != NULL) { in XCreateDrawable()
83 XShmAttach(dpy, &pdp->shminfo); in XCreateDrawable()
88 XDestroyImage(pdp->ximage); in XCreateDrawable()
89 pdp->ximage = NULL; in XCreateDrawable()
96 if (pdp->ximage == NULL) { in XCreateDrawable()
97 pdp->shminfo.shmid = -1; in XCreateDrawable()
98 pdp->ximage = XCreateImage(dpy, in XCreateDrawable()
100 pdp->xDepth, in XCreateDrawable()
112 if (pdp->ximage->bits_per_pixel == 24) in XCreateDrawable()
113 pdp->ximage->bits_per_pixel = 32; in XCreateDrawable()
119 XDestroyDrawable(struct drisw_drawable * pdp, Display * dpy, XID drawable) in XDestroyDrawable() argument
121 if (pdp->ximage) in XDestroyDrawable()
122 XDestroyImage(pdp->ximage); in XDestroyDrawable()
124 if (pdp->shminfo.shmid > 0) in XDestroyDrawable()
125 XShmDetach(dpy, &pdp->shminfo); in XDestroyDrawable()
127 XFreeGC(dpy, pdp->gc); in XDestroyDrawable()
139 struct drisw_drawable *pdp = loaderPrivate; in swrastGetDrawableInfo() local
140 __GLXDRIdrawable *pdraw = &(pdp->base); in swrastGetDrawableInfo()
182 struct drisw_drawable *pdp = loaderPrivate; in swrastXPutImage() local
183 __GLXDRIdrawable *pdraw = &(pdp->base); in swrastXPutImage()
187 GC gc = pdp->gc; in swrastXPutImage()
189 if (!pdp->ximage || shmid != pdp->shminfo.shmid) { in swrastXPutImage()
190 if (!XCreateDrawable(pdp, shmid, dpy)) in swrastXPutImage()
195 ximage = pdp->ximage; in swrastXPutImage()
202 if (pdp->shminfo.shmid >= 0) { in swrastXPutImage()
217 struct drisw_drawable *pdp = loaderPrivate; in swrastPutImageShm() local
219 pdp->shminfo.shmaddr = shmaddr; in swrastPutImageShm()
231 struct drisw_drawable *pdp = loaderPrivate; in swrastPutImageShm2() local
233 pdp->shminfo.shmaddr = shmaddr; in swrastPutImageShm2()
648 struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw; in driswDestroyDrawable() local
649 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; in driswDestroyDrawable()
651 (*psc->core->destroyDrawable) (pdp->driDrawable); in driswDestroyDrawable()
653 XDestroyDrawable(pdp, pdraw->psc->dpy, pdraw->drawable); in driswDestroyDrawable()
654 free(pdp); in driswDestroyDrawable()
661 struct drisw_drawable *pdp; in driswCreateDrawable() local
667 pdp = calloc(1, sizeof(*pdp)); in driswCreateDrawable()
668 if (!pdp) in driswCreateDrawable()
671 pdp->base.xDrawable = xDrawable; in driswCreateDrawable()
672 pdp->base.drawable = drawable; in driswCreateDrawable()
673 pdp->base.psc = &psc->base; in driswCreateDrawable()
674 pdp->config = modes; in driswCreateDrawable()
675 pdp->gc = XCreateGC(dpy, xDrawable, 0, NULL); in driswCreateDrawable()
676 pdp->xDepth = 0; in driswCreateDrawable()
679 if (pdp->config->visualID != 0) { in driswCreateDrawable()
683 template.visualid = pdp->config->visualID; in driswCreateDrawable()
684 template.screen = pdp->config->screen; in driswCreateDrawable()
689 pdp->xDepth = visinfo->depth; in driswCreateDrawable()
695 if (pdp->xDepth == 0) { in driswCreateDrawable()
701 pdp->xDepth = depth; in driswCreateDrawable()
705 pdp->driDrawable = in driswCreateDrawable()
706 (*swrast->createNewDrawable) (psc->driScreen, config->driConfig, pdp); in driswCreateDrawable()
708 if (!pdp->driDrawable) { in driswCreateDrawable()
709 XDestroyDrawable(pdp, psc->base.dpy, xDrawable); in driswCreateDrawable()
710 free(pdp); in driswCreateDrawable()
714 pdp->base.destroyDrawable = driswDestroyDrawable; in driswCreateDrawable()
716 return &pdp->base; in driswCreateDrawable()
724 struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw; in driswSwapBuffers() local
725 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; in driswSwapBuffers()
735 (*psc->core->swapBuffers) (pdp->driDrawable); in driswSwapBuffers()
744 struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw; in driswCopySubBuffer() local
745 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc; in driswCopySubBuffer()
751 (*psc->copySubBuffer->copySubBuffer) (pdp->driDrawable, in driswCopySubBuffer()