llvmpipe: move fences from per-bin to per-thread
authorKeith Whitwell <keithw@vmware.com>
Thu, 8 Jul 2010 14:13:35 +0000 (15:13 +0100)
committerJosé Fonseca <jfonseca@vmware.com>
Tue, 13 Jul 2010 16:23:48 +0000 (17:23 +0100)
commit3bd9aedbac79eec16bfe6f5fc6f6a021eebe769a
treeed8c7d28d1d6c7b8cd33b1c68e3ac996c5b64ea8
parent6d17f00600ffca7cb39e6f66277cec018ff2c151
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.
src/gallium/drivers/llvmpipe/lp_fence.c
src/gallium/drivers/llvmpipe/lp_fence.h
src/gallium/drivers/llvmpipe/lp_flush.c
src/gallium/drivers/llvmpipe/lp_rast.c
src/gallium/drivers/llvmpipe/lp_scene.c
src/gallium/drivers/llvmpipe/lp_scene.h
src/gallium/drivers/llvmpipe/lp_setup.c
src/gallium/drivers/llvmpipe/lp_setup.h