diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index 1d2e6fd2b3c..79376ce0f28 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -2055,33 +2055,12 @@ static EGLBoolean dri2_release_tex_image(_EGLDisplay *disp, _EGLSurface *surf, EGLint buffer) { struct dri2_egl_display *dri2_dpy = dri2_egl_display_lock(disp); - struct dri2_egl_context *dri2_ctx; - _EGLContext *ctx; - GLint target; - __DRIdrawable *dri_drawable = dri2_dpy->vtbl->get_dri_drawable(surf); - - ctx = _eglGetCurrentContext(); - dri2_ctx = dri2_egl_context(ctx); if (!_eglReleaseTexImage(disp, surf, buffer)) { mtx_unlock(&dri2_dpy->lock); return EGL_FALSE; } - switch (surf->TextureTarget) { - case EGL_TEXTURE_2D: - target = GL_TEXTURE_2D; - break; - default: - assert(!"missing texture target"); - } - - if (dri2_dpy->tex_buffer->base.version >= 3 && - dri2_dpy->tex_buffer->releaseTexBuffer != NULL) { - dri2_dpy->tex_buffer->releaseTexBuffer(dri2_ctx->dri_context, target, - dri_drawable); - } - mtx_unlock(&dri2_dpy->lock); return EGL_TRUE; diff --git a/src/gallium/frontends/dri/dri_drawable.c b/src/gallium/frontends/dri/dri_drawable.c index 58008b3c584..b414a885884 100644 --- a/src/gallium/frontends/dri/dri_drawable.c +++ b/src/gallium/frontends/dri/dri_drawable.c @@ -312,7 +312,6 @@ const __DRItexBufferExtension driTexBufferExtension = { .setTexBuffer = dri_set_tex_buffer, .setTexBuffer2 = dri_set_tex_buffer2, - .releaseTexBuffer = NULL, }; /** diff --git a/src/gallium/include/mesa_interface.h b/src/gallium/include/mesa_interface.h index 926d78db5fe..0c1f8bbd11e 100644 --- a/src/gallium/include/mesa_interface.h +++ b/src/gallium/include/mesa_interface.h @@ -188,20 +188,6 @@ struct __DRItexBufferExtensionRec { int target, int format, __DRIdrawable *pDraw); - /** - * Called from glXReleaseTexImageEXT(). - * - * This was used by i965 in 24952160fde9 ("i965: Use finish_external instead - * of make_shareable in setTexBuffer2") to note when the user mis-used the - * interface in a way that would produce rendering bugs, and try to recover - * from them. This has only ever been used from inside the Mesa tree and - * was never used by the X server. - * - * \since 3 - */ - void (*releaseTexBuffer)(__DRIcontext *pDRICtx, - int target, - __DRIdrawable *pDraw); }; /** diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c index 8d8a56c3eb6..dc69b1d38ee 100644 --- a/src/glx/dri2_glx.c +++ b/src/glx/dri2_glx.c @@ -833,25 +833,6 @@ dri2_bind_tex_image(__GLXDRIdrawable *base, } } -static void -dri2_release_tex_image(__GLXDRIdrawable *base, int buffer) -{ - struct glx_context *gc = __glXGetCurrentContext(); - struct dri2_drawable *pdraw = (struct dri2_drawable *) base; - struct dri2_screen *psc; - - if (pdraw != NULL) { - psc = (struct dri2_screen *) base->psc; - - if (psc->texBuffer->base.version >= 3 && - psc->texBuffer->releaseTexBuffer != NULL) { - psc->texBuffer->releaseTexBuffer(gc->driContext, - pdraw->base.textureTarget, - pdraw->driDrawable); - } - } -} - static const struct glx_context_vtable dri2_context_vtable = { .destroy = dri2_destroy_context, .bind = dri2_bind_context, @@ -1060,7 +1041,6 @@ dri2CreateScreen(int screen, struct glx_display * priv, bool driver_name_is_infe psp->getSwapInterval = NULL; psp->getBufferAge = NULL; psp->bindTexImage = dri2_bind_tex_image; - psp->releaseTexImage = dri2_release_tex_image; psp->getDrawableMSC = dri2DrawableGetMSC; psp->waitForMSC = dri2WaitForMSC; diff --git a/src/glx/dri3_glx.c b/src/glx/dri3_glx.c index 752c365101a..871a4c1ad6a 100644 --- a/src/glx/dri3_glx.c +++ b/src/glx/dri3_glx.c @@ -653,24 +653,6 @@ dri3_bind_tex_image(__GLXDRIdrawable *base, } } -static void -dri3_release_tex_image(__GLXDRIdrawable *base, int buffer) -{ - 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; - - if (psc->texBuffer->base.version >= 3 && - psc->texBuffer->releaseTexBuffer != NULL) - psc->texBuffer->releaseTexBuffer(gc->driContext, - pdraw->base.textureTarget, - pdraw->loader_drawable.dri_drawable); - } -} - static const struct glx_context_vtable dri3_context_vtable = { .destroy = dri3_destroy_context, .bind = dri3_bind_context, @@ -935,7 +917,6 @@ dri3_create_screen(int screen, struct glx_display * priv, bool driver_name_is_in psp->setSwapInterval = dri3_set_swap_interval; psp->getSwapInterval = dri3_get_swap_interval; psp->bindTexImage = dri3_bind_tex_image; - psp->releaseTexImage = dri3_release_tex_image; psp->maxSwapInterval = INT_MAX; __glXEnableDirectExtension(&psc->base, "GLX_OML_sync_control"); diff --git a/src/glx/drisw_glx.c b/src/glx/drisw_glx.c index 2c7cd10f7af..daf23af493a 100644 --- a/src/glx/drisw_glx.c +++ b/src/glx/drisw_glx.c @@ -503,28 +503,6 @@ drisw_bind_tex_image(__GLXDRIdrawable *base, } } -static void -drisw_release_tex_image(__GLXDRIdrawable *base, int buffer) -{ - struct glx_context *gc = __glXGetCurrentContext(); - struct drisw_drawable *pdraw = (struct drisw_drawable *) base; - struct drisw_screen *psc; - - if (pdraw != NULL) { - psc = (struct drisw_screen *) base->psc; - - if (!psc->texBuffer) - return; - - if (psc->texBuffer->base.version >= 3 && - psc->texBuffer->releaseTexBuffer != NULL) { - psc->texBuffer->releaseTexBuffer(gc->driContext, - pdraw->base.textureTarget, - pdraw->driDrawable); - } - } -} - static int kopper_get_buffer_age(__GLXDRIdrawable *pdraw) { @@ -994,7 +972,6 @@ driswCreateScreen(int screen, struct glx_display *priv, enum glx_driver glx_driv psp->createDrawable = driswCreateDrawable; psp->swapBuffers = driswSwapBuffers; psp->bindTexImage = drisw_bind_tex_image; - psp->releaseTexImage = drisw_release_tex_image; if (!glx_driver) psp->copySubBuffer = drisw_copy_sub_buffer; diff --git a/src/glx/glxclient.h b/src/glx/glxclient.h index 63e18ab844c..f1d7e344e35 100644 --- a/src/glx/glxclient.h +++ b/src/glx/glxclient.h @@ -103,7 +103,6 @@ struct __GLXDRIscreenRec { int (*getSwapInterval)(__GLXDRIdrawable *pdraw); int (*getBufferAge)(__GLXDRIdrawable *pdraw); void (*bindTexImage)(__GLXDRIdrawable *pdraw, int buffer, const int *attribs); - void (*releaseTexImage)(__GLXDRIdrawable *pdraw, int buffer); int maxSwapInterval; }; diff --git a/src/glx/glxcmds.c b/src/glx/glxcmds.c index be4a30ceacd..e2399dbeed5 100644 --- a/src/glx/glxcmds.c +++ b/src/glx/glxcmds.c @@ -2167,10 +2167,6 @@ glXReleaseTexImageEXT(Display * dpy, GLXDrawable drawable, int buffer) #ifdef GLX_DIRECT_RENDERING __GLXDRIdrawable *pdraw = GetGLXDRIDrawable(dpy, drawable); if (pdraw != NULL) { - struct glx_screen *psc = pdraw->psc; - if (psc->driScreen->releaseTexImage != NULL) - psc->driScreen->releaseTexImage(pdraw, buffer); - return; } #endif