mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-20 11:40:10 +01:00
Revert "glx/dri: Fix DRI drawable release at MakeCurrent time"
This reverts commit31b04e420bwhich is also breaking KDE in some ways. Fixes: #7674 Acked-by: Michel Dänzer <mdaenzer@redhat.com> Acked-by: Tapani Pälli <tapani.palli@intel.com> Acked-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Martin Roukala (né Peres) <martin.roukala@mupuf.org> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19972> (cherry picked from commitea3f73ba85)
This commit is contained in:
parent
ac18e931fa
commit
e13d53e1fd
6 changed files with 6 additions and 6 deletions
|
|
@ -1147,7 +1147,7 @@
|
||||||
"description": "Revert \"glx/dri: Fix DRI drawable release at MakeCurrent time\"",
|
"description": "Revert \"glx/dri: Fix DRI drawable release at MakeCurrent time\"",
|
||||||
"nominated": true,
|
"nominated": true,
|
||||||
"nomination_type": 2,
|
"nomination_type": 2,
|
||||||
"resolution": 0,
|
"resolution": 1,
|
||||||
"main_sha": null,
|
"main_sha": null,
|
||||||
"because_sha": "31b04e420b0eb080084c6323066ea0b83929d59e"
|
"because_sha": "31b04e420b0eb080084c6323066ea0b83929d59e"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -121,7 +121,7 @@ dri2_bind_context(struct glx_context *context, struct glx_context *old,
|
||||||
pdraw = (struct dri2_drawable *) driFetchDrawable(context, draw);
|
pdraw = (struct dri2_drawable *) driFetchDrawable(context, draw);
|
||||||
pread = (struct dri2_drawable *) driFetchDrawable(context, read);
|
pread = (struct dri2_drawable *) driFetchDrawable(context, read);
|
||||||
|
|
||||||
driReleaseDrawables(old);
|
driReleaseDrawables(context);
|
||||||
|
|
||||||
if (pdraw)
|
if (pdraw)
|
||||||
dri_draw = pdraw->driDrawable;
|
dri_draw = pdraw->driDrawable;
|
||||||
|
|
|
||||||
|
|
@ -192,7 +192,7 @@ dri3_bind_context(struct glx_context *context, struct glx_context *old,
|
||||||
pdraw = (struct dri3_drawable *) driFetchDrawable(context, draw);
|
pdraw = (struct dri3_drawable *) driFetchDrawable(context, draw);
|
||||||
pread = (struct dri3_drawable *) driFetchDrawable(context, read);
|
pread = (struct dri3_drawable *) driFetchDrawable(context, read);
|
||||||
|
|
||||||
driReleaseDrawables(old);
|
driReleaseDrawables(context);
|
||||||
|
|
||||||
if (pdraw)
|
if (pdraw)
|
||||||
dri_draw = pdraw->loader_drawable.dri_drawable;
|
dri_draw = pdraw->loader_drawable.dri_drawable;
|
||||||
|
|
|
||||||
|
|
@ -490,7 +490,7 @@ releaseDrawable(const struct glx_display *priv, GLXDrawable drawable)
|
||||||
_X_HIDDEN void
|
_X_HIDDEN void
|
||||||
driReleaseDrawables(struct glx_context *gc)
|
driReleaseDrawables(struct glx_context *gc)
|
||||||
{
|
{
|
||||||
const struct glx_display *priv = (gc && gc->psc) ? gc->psc->display : NULL;
|
const struct glx_display *priv = gc->psc->display;
|
||||||
|
|
||||||
if (priv == NULL)
|
if (priv == NULL)
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -436,7 +436,7 @@ drisw_bind_context(struct glx_context *context, struct glx_context *old,
|
||||||
pdraw = (struct drisw_drawable *) driFetchDrawable(context, draw);
|
pdraw = (struct drisw_drawable *) driFetchDrawable(context, draw);
|
||||||
pread = (struct drisw_drawable *) driFetchDrawable(context, read);
|
pread = (struct drisw_drawable *) driFetchDrawable(context, read);
|
||||||
|
|
||||||
driReleaseDrawables(old);
|
driReleaseDrawables(context);
|
||||||
|
|
||||||
if (!psc->core->bindContext(context->driContext,
|
if (!psc->core->bindContext(context->driContext,
|
||||||
pdraw ? pdraw->driDrawable : NULL,
|
pdraw ? pdraw->driDrawable : NULL,
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,7 @@ driwindows_bind_context(struct glx_context *context, struct glx_context *old,
|
||||||
pdraw = (struct driwindows_drawable *) driFetchDrawable(context, draw);
|
pdraw = (struct driwindows_drawable *) driFetchDrawable(context, draw);
|
||||||
pread = (struct driwindows_drawable *) driFetchDrawable(context, read);
|
pread = (struct driwindows_drawable *) driFetchDrawable(context, read);
|
||||||
|
|
||||||
driReleaseDrawables(old);
|
driReleaseDrawables(&pcp->base);
|
||||||
|
|
||||||
if (pdraw == NULL || pread == NULL)
|
if (pdraw == NULL || pread == NULL)
|
||||||
return GLXBadDrawable;
|
return GLXBadDrawable;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue