r600g: only add blocks once to the dirty/enabled lists.
This caused a loop in some tests. Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -110,9 +110,11 @@ static void r600_init_block(struct r600_context *ctx,
|
||||
block->flags |= REG_FLAG_DIRTY_ALWAYS;
|
||||
}
|
||||
if (reg[i+j].flags & REG_FLAG_ENABLE_ALWAYS) {
|
||||
block->status |= R600_BLOCK_STATUS_ENABLED;
|
||||
LIST_ADDTAIL(&block->enable_list, &ctx->enable_list);
|
||||
LIST_ADDTAIL(&block->list,&ctx->dirty);
|
||||
if (!(block->status & R600_BLOCK_STATUS_ENABLED)) {
|
||||
block->status |= R600_BLOCK_STATUS_ENABLED;
|
||||
LIST_ADDTAIL(&block->enable_list, &ctx->enable_list);
|
||||
LIST_ADDTAIL(&block->list,&ctx->dirty);
|
||||
}
|
||||
}
|
||||
|
||||
if (reg[i+j].flags & REG_FLAG_NEED_BO) {
|
||||
|
||||
Reference in New Issue
Block a user