Module: Mesa
Branch: master
Commit: d5b1731178378b3d828c74368f6bfe85edc10618
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d5b1731178378b3d828c74368f6bfe85edc10618

Author: José Fonseca <[email protected]>
Date:   Thu Nov 13 15:01:19 2014 +0000

llvmpipe: Call pipe_thread_wait() on Linux.

To address 
http://lists.freedesktop.org/archives/mesa-dev/2014-November/070569.html

In short, revert 706ad3b649e6a75fdac9dc9acc3caa9e6067b853 for non-Windows
OSes.

---

 src/gallium/drivers/llvmpipe/lp_rast.c |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c 
b/src/gallium/drivers/llvmpipe/lp_rast.c
index 6b54d43..e168766 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -800,7 +800,9 @@ static PIPE_THREAD_ROUTINE( thread_function, init_data )
       pipe_semaphore_signal(&task->work_done);
    }
 
+#ifdef _WIN32
    pipe_semaphore_signal(&task->work_done);
+#endif
 
    return 0;
 }
@@ -891,7 +893,11 @@ void lp_rast_destroy( struct lp_rasterizer *rast )
     * We don't actually call pipe_thread_wait to avoid dead lock on Windows
     * per https://bugs.freedesktop.org/show_bug.cgi?id=76252 */
    for (i = 0; i < rast->num_threads; i++) {
+#ifdef _WIN32
       pipe_semaphore_wait(&rast->tasks[i].work_done);
+#else
+      pipe_thread_wait(rast->threads[i]);
+#endif
    }
 
    /* Clean up per-thread data */

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to