summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorBrian Paul <brianp@vmware.com>2010-03-25 16:06:07 -0600
committerBrian Paul <brianp@vmware.com>2010-03-25 16:10:25 -0600
commit8814bb652aa0deee7fa34c0746ba9dc63163b88d (patch)
tree6854589cb7751b76e20f6573c93e6c2a33f27414 /src
parent67e377bda6431b613836fdc04680a49b75e4b751 (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.
Diffstat (limited to 'src')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_setup.c26
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 4eeb98621f..76a8b87a30 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;
}