diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index aee2872d70d..25fdafd0767 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -445,14 +445,13 @@ dri2Flush(struct dri2_screen *psc, unsigned flags, enum __DRI2throttleReason throttle_reason) { - if (ctx && psc->f && psc->f->base.version >= 4) { - psc->f->flush_with_flags(ctx, draw->driDrawable, flags, throttle_reason); + if (ctx) { + dri_flush(ctx, draw->driDrawable, flags, throttle_reason); } else { if (flags & __DRI2_FLUSH_CONTEXT) glFlush(); - if (psc->f) - psc->f->flush(draw->driDrawable); + dri_flush_drawable(draw->driDrawable); dri2Throttle(psc, draw, throttle_reason); } @@ -519,8 +518,7 @@ dri2_copy_drawable(struct dri2_drawable *priv, int dest, int src) xrect.width = priv->width; xrect.height = priv->height; - if (psc->f) - psc->f->flush(priv->driDrawable); + dri_flush_drawable(priv->driDrawable); region = XFixesCreateRegion(psc->base.dpy, &xrect, 1); DRI2CopyRegion(psc->base.dpy, priv->base.xDrawable, region, dest, src); @@ -795,16 +793,12 @@ dri2InvalidateBuffers(Display *dpy, XID drawable) { __GLXDRIdrawable *pdraw = dri2GetGlxDrawableFromXDrawableId(dpy, drawable); - struct dri2_screen *psc; struct dri2_drawable *pdp = (struct dri2_drawable *) pdraw; if (!pdraw) return; - psc = (struct dri2_screen *) pdraw->psc; - - if (psc->f && psc->f->base.version >= 3 && psc->f->invalidate) - psc->f->invalidate(pdp->driDrawable); + dri_invalidate_drawable(pdp->driDrawable); } static void @@ -878,7 +872,6 @@ dri2BindExtensions(struct dri2_screen *psc, struct glx_display * priv, } static const struct dri_extension_match exts[] = { - { __DRI2_FLUSH, 1, offsetof(struct dri2_screen, f), true }, { __DRI2_CONFIG_QUERY, 1, offsetof(struct dri2_screen, config), true }, { __DRI2_THROTTLE, 1, offsetof(struct dri2_screen, throttle), true }, { __DRI2_INTEROP, 1, offsetof(struct dri2_screen, interop), true }, diff --git a/src/glx/dri2_priv.h b/src/glx/dri2_priv.h index ae694705a52..d91470fc6ee 100644 --- a/src/glx/dri2_priv.h +++ b/src/glx/dri2_priv.h @@ -45,7 +45,6 @@ struct dri2_screen { __DRIscreen *driScreen; __GLXDRIscreen vtable; - const __DRI2flushExtension *f; const __DRI2configQueryExtension *config; const __DRI2throttleExtension *throttle; const __DRI2interopExtension *interop; diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 6402dfac6d2..f6d9363d981 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -160,7 +160,6 @@ dri3_destroy_context(struct glx_context *context) static Bool dri3_bind_context(struct glx_context *context, GLXDrawable draw, GLXDrawable read) { - struct dri3_screen *psc = (struct dri3_screen *) context->psc; struct dri3_drawable *pdraw, *pread; __DRIdrawable *dri_draw = NULL, *dri_read = NULL; @@ -183,9 +182,9 @@ dri3_bind_context(struct glx_context *context, GLXDrawable draw, GLXDrawable rea return GLXBadContext; if (dri_draw) - psc->f->invalidate(dri_draw); + dri_invalidate_drawable(dri_draw); if (dri_read && dri_read != dri_draw) - psc->f->invalidate(dri_read); + dri_invalidate_drawable(dri_read); return Success; } @@ -475,7 +474,7 @@ dri3_flush_front_buffer(__DRIdrawable *driDrawable, void *loaderPrivate) loader_dri3_flush(draw, __DRI2_FLUSH_DRAWABLE, __DRI2_THROTTLE_FLUSHFRONT); - psc->f->invalidate(driDrawable); + dri_invalidate_drawable(driDrawable); loader_dri3_wait_gl(draw); } @@ -637,12 +636,9 @@ dri3_bind_tex_image(__GLXDRIdrawable *base, { struct glx_context *gc = __glXGetCurrentContext(); struct dri3_drawable *pdraw = (struct dri3_drawable *) base; - struct dri3_screen *psc; if (pdraw != NULL) { - psc = (struct dri3_screen *) base->psc; - - psc->f->invalidate(pdraw->loader_drawable.dri_drawable); + dri_invalidate_drawable(pdraw->loader_drawable.dri_drawable); XSync(gc->currentDpy, false); @@ -702,7 +698,6 @@ dri3_bind_extensions(struct dri3_screen *psc, struct glx_display * priv, } static const struct dri_extension_match exts[] = { - { __DRI2_FLUSH, 1, offsetof(struct dri3_screen, f), true }, { __DRI_IMAGE, 1, offsetof(struct dri3_screen, image), true }, { __DRI2_INTEROP, 1, offsetof(struct dri3_screen, interop), true }, { __DRI2_CONFIG_QUERY, 1, offsetof(struct dri3_screen, config), true }, @@ -852,11 +847,6 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in goto handle_error; } - if (!psc->f || psc->f->base.version < 4) { - ErrorMessageF("Version 4 or later of flush extension not found\n"); - goto handle_error; - } - if (psc->fd_render_gpu != psc->fd_display_gpu && psc->image->base.version < 9) { ErrorMessageF("Different GPU, but image extension version 9 or later not found\n"); goto handle_error; @@ -867,7 +857,6 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in goto handle_error; } - psc->loader_dri3_ext.flush = psc->f; psc->loader_dri3_ext.image = psc->image; psc->loader_dri3_ext.config = psc->config; diff --git a/src/glx/dri3_priv.h b/src/glx/dri3_priv.h index 30eb69a7cef..91d7cd24495 100644 --- a/src/glx/dri3_priv.h +++ b/src/glx/dri3_priv.h @@ -80,7 +80,6 @@ struct dri3_screen { __DRIscreen *driScreenRenderGPU; const __DRIimageExtension *image; - const __DRI2flushExtension *f; const __DRI2configQueryExtension *config; const __DRI2interopExtension *interop; const __DRIconfig **driver_configs; diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index d1fcb45ecef..01a957daa59 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -446,11 +446,11 @@ drisw_bind_context(struct glx_context *context, GLXDrawable draw, GLXDrawable re pdraw ? pdraw->driDrawable : NULL, pread ? pread->driDrawable : NULL)) return GLXBadContext; - if (psc->f) { + if (psc->kopper) { if (pdraw) - psc->f->invalidate(pdraw->driDrawable); + dri_invalidate_drawable(pdraw->driDrawable); if (pread && (!pdraw || pread->driDrawable != pdraw->driDrawable)) - psc->f->invalidate(pread->driDrawable); + dri_invalidate_drawable(pread->driDrawable); } return Success; @@ -795,7 +795,6 @@ driswBindExtensions(struct drisw_screen *psc, const __DRIextension **extensions) /* FIXME: Figure out what other extensions can be ported here from dri2. */ static const struct dri_extension_match exts[] = { - { __DRI2_FLUSH, 1, offsetof(struct drisw_screen, f), true }, { __DRI2_CONFIG_QUERY, 1, offsetof(struct drisw_screen, config), true }, }; loader_bind_extensions(psc, exts, ARRAY_SIZE(exts), extensions); diff --git a/src/glx/drisw_priv.h b/src/glx/drisw_priv.h index a44109fc3db..da21b9b360f 100644 --- a/src/glx/drisw_priv.h +++ b/src/glx/drisw_priv.h @@ -39,7 +39,6 @@ struct drisw_screen __DRIscreen *driScreen; __GLXDRIscreen vtable; - const __DRI2flushExtension *f; const __DRI2configQueryExtension *config; const __DRIconfig **driver_configs;