Stefan Dirsch
b9543c3565
* llvmpipe: Do not use barriers if not using threads; triggers on single cpu machines (like KVM in openQA) with gcc6 and latest glibc(bnc#971350) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/Mesa?expand=0&rev=505
43 lines
1.4 KiB
Diff
43 lines
1.4 KiB
Diff
From 4ed4c1d9210b11ce6faea81455c21531904ea45b Mon Sep 17 00:00:00 2001
|
|
From: Vinson Lee <vlee@freedesktop.org>
|
|
Date: Wed, 10 Feb 2016 16:42:19 -0800
|
|
Subject: [PATCH] llvmpipe: Do not use barriers if not using threads.
|
|
|
|
Cc: mesa-stable@lists.freedesktop.org
|
|
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94088
|
|
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
|
|
Reviewed-by: Roland Scheidegger <sroland@vmware.com>
|
|
---
|
|
src/gallium/drivers/llvmpipe/lp_rast.c | 8 ++++++--
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c
|
|
index d22e507..9e56c96 100644
|
|
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
|
|
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
|
|
@@ -910,7 +910,9 @@ lp_rast_create( unsigned num_threads )
|
|
create_rast_threads(rast);
|
|
|
|
/* for synchronizing rasterization threads */
|
|
- pipe_barrier_init( &rast->barrier, rast->num_threads );
|
|
+ if (rast->num_threads > 0) {
|
|
+ pipe_barrier_init( &rast->barrier, rast->num_threads );
|
|
+ }
|
|
|
|
memset(lp_dummy_tile, 0, sizeof lp_dummy_tile);
|
|
|
|
@@ -967,7 +969,9 @@ void lp_rast_destroy( struct lp_rasterizer *rast )
|
|
}
|
|
|
|
/* for synchronizing rasterization threads */
|
|
- pipe_barrier_destroy( &rast->barrier );
|
|
+ if (rast->num_threads > 0) {
|
|
+ pipe_barrier_destroy( &rast->barrier );
|
|
+ }
|
|
|
|
lp_scene_queue_destroy(rast->full_scenes);
|
|
|
|
--
|
|
2.6.2
|
|
|