From 40224875388e36fe89748f5f8e11d7380d0b234d Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 2 Sep 2022 09:42:45 -0400 Subject: [PATCH] llvmpipe: don't assume pipe_context is always available in flush_frontbuffer Fixes: 91dcadf9569 ("llvmpipe: finish rendering before flushing frontbuffer resources.") Reviewed-by: Jose Fonseca Part-of: (cherry picked from commit 7437c8f7d55b0e164626b557363b3e29a223967d) --- .pick_status.json | 2 +- src/gallium/drivers/llvmpipe/lp_screen.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.pick_status.json b/.pick_status.json index f4e017226bb..751f31185f8 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -5584,7 +5584,7 @@ "description": "llvmpipe: don't assume pipe_context is always available in flush_frontbuffer", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "91dcadf95690c658b34b20cf5dbf77f79c1cf297" }, diff --git a/src/gallium/drivers/llvmpipe/lp_screen.c b/src/gallium/drivers/llvmpipe/lp_screen.c index 55ee39b201f..a4a879ee0de 100644 --- a/src/gallium/drivers/llvmpipe/lp_screen.c +++ b/src/gallium/drivers/llvmpipe/lp_screen.c @@ -835,7 +835,8 @@ llvmpipe_flush_frontbuffer(struct pipe_screen *_screen, assert(texture->dt); if (texture->dt) { - llvmpipe_flush_resource(_pipe, resource, 0, true, true, false, "frontbuffer"); + if (_pipe) + llvmpipe_flush_resource(_pipe, resource, 0, true, true, false, "frontbuffer"); winsys->displaytarget_display(winsys, texture->dt, context_private, sub_box); } }