From 4423c79ddf6853d1d4594afda3e1262c1b9af4f5 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 2 Jun 2011 14:57:13 +1000 Subject: r600g: work out range/block etc at state build time. This moves the overhead of working out the range/block to state build time, it also allows the compiler to use constants for a lot of things instead of working them out each time. Signed-off-by: Dave Airlie --- src/gallium/winsys/r600/drm/r600_hw_context.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/gallium/winsys/r600') diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index 6415268c786..a3c8945a722 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -940,7 +940,6 @@ void r600_context_dirty_block(struct r600_context *ctx, struct r600_block *block void r600_context_pipe_state_set(struct r600_context *ctx, struct r600_pipe_state *state) { - struct r600_range *range; struct r600_block *block; unsigned new_val; int dirty; @@ -948,9 +947,8 @@ void r600_context_pipe_state_set(struct r600_context *ctx, struct r600_pipe_stat unsigned id, reloc_id; struct r600_pipe_reg *reg = &state->regs[i]; - range = &ctx->range[CTX_RANGE_ID(reg->offset)]; - block = range->blocks[CTX_BLOCK_ID(reg->offset)]; - id = (reg->offset - block->start_offset) >> 2; + block = reg->block; + id = reg->id; dirty = block->status & R600_BLOCK_STATUS_DIRTY; -- cgit v1.2.3