st/nine: Wait for pending tasks to execute in swapchain
authorAxel Davy <axel.davy@ens.fr>
Sat, 7 May 2016 14:25:03 +0000 (16:25 +0200)
committerAxel Davy <axel.davy@ens.fr>
Mon, 10 Oct 2016 21:43:49 +0000 (23:43 +0200)
Fixes crash after Reset() when using thread_submit=true

Signed-off-by: Axel Davy <axel.davy@ens.fr>
src/gallium/state_trackers/nine/swapchain9.c

index 3106063..fcda9c7 100644 (file)
@@ -243,6 +243,10 @@ NineSwapChain9_Resize( struct NineSwapChain9 *This,
     desc.Width = pParams->BackBufferWidth;
     desc.Height = pParams->BackBufferHeight;
 
+    for (i = 0; i < oldBufferCount; i++) {
+        if (This->tasks[i])
+            _mesa_threadpool_wait_for_task(This->pool, &(This->tasks[i]));
+    }
     memset(This->tasks, 0, sizeof(This->tasks));
 
     if (This->pool) {