diff options
author | Brian Paul <[email protected]> | 2010-03-25 16:06:07 -0600 |
---|---|---|
committer | Brian Paul <[email protected]> | 2010-03-25 16:10:25 -0600 |
commit | 8814bb652aa0deee7fa34c0746ba9dc63163b88d (patch) | |
tree | 6854589cb7751b76e20f6573c93e6c2a33f27414 | |
parent | 67e377bda6431b613836fdc04680a49b75e4b751 (diff) |
Revert "llvmpipe: optimize the lp_setup_fence() function"
This reverts commit a9063cad0f0190ff88cd20fbad5aa87bf1a943f6.
Not too surprisingly, this change caused some regressions.
Revert it for the time being.
See fd.o bug 27320.
-rw-r--r-- | src/gallium/drivers/llvmpipe/lp_setup.c | 26 |
1 files changed, 6 insertions, 20 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_setup.c b/src/gallium/drivers/llvmpipe/lp_setup.c index 4eeb98621f6..76a8b87a309 100644 --- a/src/gallium/drivers/llvmpipe/lp_setup.c +++ b/src/gallium/drivers/llvmpipe/lp_setup.c @@ -318,30 +318,16 @@ lp_setup_fence( struct lp_setup_context *setup ) { struct lp_scene *scene = lp_setup_get_current_scene(setup); const unsigned rank = lp_scene_get_num_bins( scene ); /* xxx */ - struct lp_fence *fence; + struct lp_fence *fence = lp_fence_create(rank); LP_DBG(DEBUG_SETUP, "%s rank %u\n", __FUNCTION__, rank); - if (setup->state == SETUP_FLUSHED) { - /* We're in a flushed state so there's nothing in the bins. - * No need to wait on a fence. - */ - fence = NULL; - } - else { - /* There's material in the bins. Emit the fence into the bins. - * When the rasterizer(s) find the fence, they'll signal on it. - */ - fence = lp_fence_create(rank); - - set_scene_state( setup, SETUP_ACTIVE ); - - /* insert the fence into all command bins */ - lp_scene_bin_everywhere( scene, - lp_rast_fence, - lp_rast_arg_fence(fence) ); + set_scene_state( setup, SETUP_ACTIVE ); - } + /* insert the fence into all command bins */ + lp_scene_bin_everywhere( scene, + lp_rast_fence, + lp_rast_arg_fence(fence) ); return (struct pipe_fence_handle *) fence; } |