From 2d78e28ba702d366becabb8e241b861e6711c76e Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Tue, 15 Dec 2020 09:57:43 -0800 Subject: [PATCH] d3d12: Flush and wait in flush_frontbuffer If we have a context, make sure any work on it's done before reading from the render target. There may even be pending MSAA resolves that haven't been submitted yet. Reviewed-by: Erik Faye-Lund Part-of: --- src/gallium/drivers/d3d12/d3d12_screen.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/gallium/drivers/d3d12/d3d12_screen.cpp b/src/gallium/drivers/d3d12/d3d12_screen.cpp index e8d47810fab..75cdaaff78a 100644 --- a/src/gallium/drivers/d3d12/d3d12_screen.cpp +++ b/src/gallium/drivers/d3d12/d3d12_screen.cpp @@ -625,6 +625,9 @@ d3d12_flush_frontbuffer(struct pipe_screen * pscreen, if (!winsys) return; + if (pctx) + d3d12_flush_cmdlist_and_wait(d3d12_context(pctx)); + assert(res->dt); void *map = winsys->displaytarget_map(winsys, res->dt, 0);