Lines Matching defs:pdp

57 XCreateDrawable(struct drisw_drawable * pdp, int shmid, Display * dpy)
59 if (pdp->ximage) {
60 XDestroyImage(pdp->ximage);
61 pdp->ximage = NULL;
62 if ((pdp->shminfo.shmid > 0) && (shmid != pdp->shminfo.shmid))
63 XShmDetach(dpy, &pdp->shminfo);
67 pdp->shminfo.shmid = shmid;
68 pdp->ximage = XShmCreateImage(dpy,
70 pdp->xDepth,
73 &pdp->shminfo, /* shminfo */
75 if (pdp->ximage != NULL) {
83 XShmAttach(dpy, &pdp->shminfo);
88 XDestroyImage(pdp->ximage);
89 pdp->ximage = NULL;
96 if (pdp->ximage == NULL) {
97 pdp->shminfo.shmid = -1;
98 pdp->ximage = XCreateImage(dpy,
100 pdp->xDepth,
112 if (pdp->ximage->bits_per_pixel == 24)
113 pdp->ximage->bits_per_pixel = 32;
119 XDestroyDrawable(struct drisw_drawable * pdp, Display * dpy, XID drawable)
121 if (pdp->ximage)
122 XDestroyImage(pdp->ximage);
124 if (pdp->shminfo.shmid > 0)
125 XShmDetach(dpy, &pdp->shminfo);
127 XFreeGC(dpy, pdp->gc);
139 struct drisw_drawable *pdp = loaderPrivate;
140 __GLXDRIdrawable *pdraw = &(pdp->base);
182 struct drisw_drawable *pdp = loaderPrivate;
183 __GLXDRIdrawable *pdraw = &(pdp->base);
187 GC gc = pdp->gc;
189 if (!pdp->ximage || shmid != pdp->shminfo.shmid) {
190 if (!XCreateDrawable(pdp, shmid, dpy))
195 ximage = pdp->ximage;
202 if (pdp->shminfo.shmid >= 0) {
217 struct drisw_drawable *pdp = loaderPrivate;
219 if (!pdp)
222 pdp->shminfo.shmaddr = shmaddr;
234 struct drisw_drawable *pdp = loaderPrivate;
236 if (!pdp)
239 pdp->shminfo.shmaddr = shmaddr;
597 struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw;
598 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
600 (*psc->core->destroyDrawable) (pdp->driDrawable);
602 XDestroyDrawable(pdp, pdraw->psc->dpy, pdraw->drawable);
603 free(pdp);
610 struct drisw_drawable *pdp;
616 pdp = calloc(1, sizeof(*pdp));
617 if (!pdp)
620 pdp->base.xDrawable = xDrawable;
621 pdp->base.drawable = drawable;
622 pdp->base.psc = &psc->base;
623 pdp->config = modes;
624 pdp->gc = XCreateGC(dpy, xDrawable, 0, NULL);
625 pdp->xDepth = 0;
628 if (pdp->config->visualID != 0) {
632 template.visualid = pdp->config->visualID;
633 template.screen = pdp->config->screen;
638 pdp->xDepth = visinfo->depth;
644 if (pdp->xDepth == 0) {
650 pdp->xDepth = depth;
654 pdp->driDrawable =
655 (*swrast->createNewDrawable) (psc->driScreen, config->driConfig, pdp);
657 if (!pdp->driDrawable) {
658 XDestroyDrawable(pdp, psc->base.dpy, xDrawable);
659 free(pdp);
663 pdp->base.destroyDrawable = driswDestroyDrawable;
665 return &pdp->base;
673 struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw;
674 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
684 (*psc->core->swapBuffers) (pdp->driDrawable);
693 struct drisw_drawable *pdp = (struct drisw_drawable *) pdraw;
694 struct drisw_screen *psc = (struct drisw_screen *) pdp->base.psc;
700 (*psc->copySubBuffer->copySubBuffer) (pdp->driDrawable,