diff options
author | Keith Whitwell <keithw@vmware.com> | 2010-07-08 15:13:35 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2010-07-13 17:23:48 +0100 |
commit | 3bd9aedbac79eec16bfe6f5fc6f6a021eebe769a (patch) | |
tree | ed8c7d28d1d6c7b8cd33b1c68e3ac996c5b64ea8 /src/gallium/drivers/llvmpipe/lp_scene.c | |
parent | 6d17f00600ffca7cb39e6f66277cec018ff2c151 (diff) | |
download | external_mesa3d-3bd9aedbac79eec16bfe6f5fc6f6a021eebe769a.zip external_mesa3d-3bd9aedbac79eec16bfe6f5fc6f6a021eebe769a.tar.gz external_mesa3d-3bd9aedbac79eec16bfe6f5fc6f6a021eebe769a.tar.bz2 |
llvmpipe: move fences from per-bin to per-thread
Rather than inserting an lp_rast_fence command at the end of each
bin, have each rasterizer thread call this function directly once
it has run out of work to do on a particular scene.
This results in fewer calls to the mutex & related functions, but more
importantly makes it easier to recognize empty bins.
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_scene.c')
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_scene.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_scene.c b/src/gallium/drivers/llvmpipe/lp_scene.c index e8d36bb..f2226a5 100644 --- a/src/gallium/drivers/llvmpipe/lp_scene.c +++ b/src/gallium/drivers/llvmpipe/lp_scene.c @@ -32,6 +32,7 @@ #include "util/u_simple_list.h" #include "lp_scene.h" #include "lp_scene_queue.h" +#include "lp_fence.h" /** List of texture references */ @@ -198,6 +199,8 @@ lp_scene_reset(struct lp_scene *scene ) make_empty_list(ref_list); } + lp_fence_reference(&scene->fence, NULL); + scene->scene_size = 0; scene->has_color_clear = FALSE; |