diff options
author | Jerome Glisse <jglisse@redhat.com> | 2010-10-05 15:23:07 -0400 |
---|---|---|
committer | Jerome Glisse <jglisse@redhat.com> | 2010-10-05 15:23:07 -0400 |
commit | 2cf3199ee3b0014bc426bc3163dfa279c00eabb3 (patch) | |
tree | 44c77c596395483ee1d01883b0a420be9eae7650 /src/gallium/winsys/r600/drm/r600_priv.h | |
parent | ac8a1ebe55b08180945ffaebcff6b3bed336c9ec (diff) |
r600g: simplify block relocation
Since flush rework there could be only one relocation per
register in a block.
Signed-off-by: Jerome Glisse <jglisse@redhat.com>
Diffstat (limited to 'src/gallium/winsys/r600/drm/r600_priv.h')
-rw-r--r-- | src/gallium/winsys/r600/drm/r600_priv.h | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/gallium/winsys/r600/drm/r600_priv.h b/src/gallium/winsys/r600/drm/r600_priv.h index 9a38cc51f7..ea2cf34778 100644 --- a/src/gallium/winsys/r600/drm/r600_priv.h +++ b/src/gallium/winsys/r600/drm/r600_priv.h @@ -149,15 +149,13 @@ static inline void r600_context_block_emit_dirty(struct r600_context *ctx, struc if (block->pm4_bo_index[j]) { /* find relocation */ id = block->pm4_bo_index[j]; - for (int k = 0; k < block->reloc[id].nreloc; k++) { - r600_context_bo_reloc(ctx, - &block->pm4[block->reloc[id].bo_pm4_index[k]], + r600_context_bo_reloc(ctx, + &block->pm4[block->reloc[id].bo_pm4_index], + block->reloc[id].bo); + r600_context_bo_flush(ctx, + block->reloc[id].flush_flags, + block->reloc[id].flush_mask, block->reloc[id].bo); - r600_context_bo_flush(ctx, - block->reloc[id].flush_flags, - block->reloc[id].flush_mask, - block->reloc[id].bo); - } } } memcpy(&ctx->pm4[ctx->pm4_cdwords], block->pm4, block->pm4_ndwords * 4); |