Lines Matching refs:pdraw

143    struct dri2_drawable *pdraw, *pread;
146 pdraw = (struct dri2_drawable *) driFetchDrawable(context, draw);
151 if (pdraw == NULL || pread == NULL)
155 pdraw->driDrawable, pread->driDrawable))
163 dri2InvalidateBuffers(psc->base.dpy, pdraw->base.xDrawable);
164 if (pread != pdraw)
326 struct dri2_drawable *pdraw = (struct dri2_drawable *) base;
330 __glxHashDelete(pdp->dri2Hash, pdraw->base.xDrawable);
331 (*psc->core->destroyDrawable) (pdraw->driDrawable);
340 if (pdraw->base.xDrawable != pdraw->base.drawable)
341 DRI2DestroyDrawable(psc->base.dpy, pdraw->base.xDrawable);
343 Xfree(pdraw);
350 struct dri2_drawable *pdraw;
357 pdraw = Xmalloc(sizeof(*pdraw));
358 if (!pdraw)
361 memset(pdraw, 0, sizeof *pdraw);
362 pdraw->base.destroyDrawable = dri2DestroyDrawable;
363 pdraw->base.xDrawable = xDrawable;
364 pdraw->base.drawable = drawable;
365 pdraw->base.psc = &psc->base;
366 pdraw->bufferCount = 0;
367 pdraw->swap_interval = 1; /* default may be overridden below */
368 pdraw->have_back = 0;
377 pdraw->swap_interval = 0;
382 pdraw->swap_interval = 1;
391 pdraw->driDrawable =
393 config->driConfig, pdraw);
395 if (!pdraw->driDrawable) {
397 Xfree(pdraw);
401 if (__glxHashInsert(pdp->dri2Hash, xDrawable, pdraw)) {
402 (*psc->core->destroyDrawable) (pdraw->driDrawable);
404 Xfree(pdraw);
415 DRI2SwapInterval(psc->base.dpy, xDrawable, pdraw->swap_interval);
418 return &pdraw->base;
424 dri2DrawableGetMSC(struct glx_screen *psc, __GLXDRIdrawable *pdraw,
430 ret = DRI2GetMSC(psc->dpy, pdraw->xDrawable,
445 dri2WaitForMSC(__GLXDRIdrawable *pdraw, int64_t target_msc, int64_t divisor,
451 ret = DRI2WaitMSC(pdraw->psc->dpy, pdraw->xDrawable, target_msc, divisor,
461 dri2WaitForSBC(__GLXDRIdrawable *pdraw, int64_t target_sbc, int64_t *ust,
467 ret = DRI2WaitSBC(pdraw->psc->dpy, pdraw->xDrawable,
501 __dri2CopySubBuffer(__GLXDRIdrawable *pdraw, int x, int y,
505 struct dri2_drawable *priv = (struct dri2_drawable *) pdraw;
506 struct dri2_screen *psc = (struct dri2_screen *) pdraw->psc;
527 DRI2CopyRegion(psc->base.dpy, pdraw->xDrawable, region,
534 DRI2CopyRegion(psc->base.dpy, pdraw->xDrawable, region,
541 dri2CopySubBuffer(__GLXDRIdrawable *pdraw, int x, int y,
544 __dri2CopySubBuffer(pdraw, x, y, width, height,
602 struct dri2_drawable *pdraw = loaderPrivate;
605 if (!pdraw)
608 if (!pdraw->base.psc)
611 psc = (struct dri2_screen *) pdraw->base.psc;
617 dri2Throttle(psc, pdraw, __DRI2_THROTTLE_FLUSHFRONT);
621 dri2InvalidateBuffers(priv->dpy, pdraw->base.xDrawable);
646 process_buffers(struct dri2_drawable * pdraw, DRI2Buffer * buffers,
651 pdraw->bufferCount = count;
652 pdraw->have_fake_front = 0;
653 pdraw->have_back = 0;
658 pdraw->buffers[i].attachment = buffers[i].attachment;
659 pdraw->buffers[i].name = buffers[i].name;
660 pdraw->buffers[i].pitch = buffers[i].pitch;
661 pdraw->buffers[i].cpp = buffers[i].cpp;
662 pdraw->buffers[i].flags = buffers[i].flags;
663 if (pdraw->buffers[i].attachment == __DRI_BUFFER_FAKE_FRONT_LEFT)
664 pdraw->have_fake_front = 1;
665 if (pdraw->buffers[i].attachment == __DRI_BUFFER_BACK_LEFT)
666 pdraw->have_back = 1;
674 __GLXDRIdrawable *pdraw;
675 pdraw = dri2GetGlxDrawableFromXDrawableId(dpy, drawable);
676 if (!pdraw || !(pdraw->eventMask & GLX_BUFFER_SWAP_COMPLETE_INTEL_MASK))
702 dri2SwapBuffers(__GLXDRIdrawable *pdraw, int64_t target_msc, int64_t divisor,
705 struct dri2_drawable *priv = (struct dri2_drawable *) pdraw;
718 __dri2CopySubBuffer(pdraw, 0, 0, priv->width, priv->height,
734 DRI2SwapBuffers(psc->base.dpy, pdraw->xDrawable,
745 dri2InvalidateBuffers(dpyPriv->dpy, pdraw->xDrawable);
756 struct dri2_drawable *pdraw = loaderPrivate;
759 buffers = DRI2GetBuffers(pdraw->base.psc->dpy, pdraw->base.xDrawable,
764 pdraw->width = *width;
765 pdraw->height = *height;
766 process_buffers(pdraw, buffers, *out_count);
770 return pdraw->buffers;
779 struct dri2_drawable *pdraw = loaderPrivate;
782 buffers = DRI2GetBuffersWithFormat(pdraw->base.psc->dpy,
783 pdraw->base.xDrawable,
789 pdraw->width = *width;
790 pdraw->height = *height;
791 process_buffers(pdraw, buffers, *out_count);
795 return pdraw->buffers;
801 dri2SetSwapInterval(__GLXDRIdrawable *pdraw, int interval)
803 struct dri2_drawable *priv = (struct dri2_drawable *) pdraw;
829 dri2GetSwapInterval(__GLXDRIdrawable *pdraw)
831 struct dri2_drawable *priv = (struct dri2_drawable *) pdraw;
861 __GLXDRIdrawable *pdraw =
864 struct dri2_drawable *pdp = (struct dri2_drawable *) pdraw;
866 if (!pdraw)
869 psc = (struct dri2_screen *) pdraw->psc;
872 if (pdraw && psc->f && psc->f->base.version >= 3 && psc->f->invalidate)
886 struct dri2_drawable *pdraw = (struct dri2_drawable *) base;
891 if (pdraw != NULL) {
897 psc->f->invalidate(pdraw->driDrawable);
903 pdraw->base.textureTarget,
904 pdraw->base.textureFormat,
905 pdraw->driDrawable);
909 pdraw->base.textureTarget,
910 pdraw->driDrawable);
923 struct dri2_drawable *pdraw = (struct dri2_drawable *) base;
928 if (pdraw != NULL) {
934 pdraw->base.textureTarget,
935 pdraw->driDrawable);
1213 __GLXDRIdrawable *pdraw;
1215 if (__glxHashLookup(pdp->dri2Hash, id, (void *) &pdraw) == 0)
1216 return pdraw;