From 6ad83b58e28cbcc84fc7d70b7a52eb3f2f803450 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Sun, 19 Nov 2017 00:19:19 +0100 Subject: [PATCH] st/dri: clean up dri_unbind_context MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Nicolai Hähnle --- src/gallium/state_trackers/dri/dri_context.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gallium/state_trackers/dri/dri_context.c b/src/gallium/state_trackers/dri/dri_context.c index 18bbfa046ca..f5400ab21e6 100644 --- a/src/gallium/state_trackers/dri/dri_context.c +++ b/src/gallium/state_trackers/dri/dri_context.c @@ -228,12 +228,13 @@ dri_unbind_context(__DRIcontext * cPriv) /* dri_util.c ensures cPriv is not null */ struct dri_screen *screen = dri_screen(cPriv->driScreenPriv); struct dri_context *ctx = dri_context(cPriv); + struct st_context_iface *st = ctx->st; struct st_api *stapi = screen->st_api; if (--ctx->bind_count == 0) { - if (ctx->st == ctx->stapi->get_current(ctx->stapi)) { - if (ctx->st->thread_finish) - ctx->st->thread_finish(ctx->st); + if (st == stapi->get_current(stapi)) { + if (st->thread_finish) + st->thread_finish(st); /* For conformance, unbind is supposed to flush the context. * However, if we do it here we might end up flushing a partially -- 2.30.2