summaryrefslogtreecommitdiff
path: root/src/gallium/drivers/llvmpipe/lp_rast.c
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2010-08-27 17:49:40 +0100
committerKeith Whitwell <keithw@vmware.com>2010-09-07 14:01:43 +0100
commit6419ecd02ce43a2614822e228f306d4db589f317 (patch)
tree36aeeb7d37fdec2cd5e6a7f72440c3e1fa30c552 /src/gallium/drivers/llvmpipe/lp_rast.c
parentc512ba88a7e33f14b86feb9c0aaf1ebed5f50629 (diff)
llvmpipe: enforce fixed memory limit on scenes
Diffstat (limited to 'src/gallium/drivers/llvmpipe/lp_rast.c')
-rw-r--r--src/gallium/drivers/llvmpipe/lp_rast.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/gallium/drivers/llvmpipe/lp_rast.c b/src/gallium/drivers/llvmpipe/lp_rast.c
index d8dc24e451..c022153b43 100644
--- a/src/gallium/drivers/llvmpipe/lp_rast.c
+++ b/src/gallium/drivers/llvmpipe/lp_rast.c
@@ -369,6 +369,11 @@ lp_rast_shade_tile(struct lp_rasterizer_task *task,
const unsigned tile_x = task->x, tile_y = task->y;
unsigned x, y;
+ if (inputs->disable) {
+ /* This command was partially binned and has been disabled */
+ return;
+ }
+
LP_DBG(DEBUG_RAST, "%s\n", __FUNCTION__);
/* render the whole 64x64 tile in 4x4 chunks */
@@ -664,10 +669,6 @@ rasterize_bin(struct lp_rasterizer_task *task,
}
lp_rast_tile_end(task);
-
- /* Free data for this bin.
- */
- lp_scene_bin_reset( task->rast->curr_scene, x, y);
}
@@ -727,7 +728,7 @@ static boolean
is_empty_bin( const struct cmd_bin *bin )
{
if (0) debug_bin(bin);
- return bin->commands.head->count == 0;
+ return bin->commands.head == NULL;
}