Browse Source

r600: cleanup in r600_cs_process_relocs().

Signed-off-by: Robert Noland <rnoland@2hip.net>
tags/mesa_7_6_1_rc1
Robert Noland 16 years ago
parent
commit
a176b1c5d8
1 changed files with 3 additions and 15 deletions
  1. 3
    15
      src/mesa/drivers/dri/r600/r600_cmdbuf.c

+ 3
- 15
src/mesa/drivers/dri/r600/r600_cmdbuf.c View File

@@ -254,7 +254,7 @@ static int r600_cs_process_relocs(struct radeon_cs *cs,
relocs = (struct r600_cs_reloc_legacy *)cs->relocs;
restart:
for (i = 0; i < cs->crelocs; i++) {
uint32_t soffset, eoffset, asicoffset;
uint32_t soffset, eoffset;

r = radeon_bo_legacy_validate(relocs[i].base.bo,
&soffset, &eoffset);
@@ -262,24 +262,12 @@ restart:
goto restart;
}
if (r) {
fprintf(stderr, "validated %p [0x%08X, 0x%08X]\n",
fprintf(stderr, "invalid bo(%p) [0x%08X, 0x%08X]\n",
relocs[i].base.bo, soffset, eoffset);
return r;
}
asicoffset = soffset;

for (j = 0; j < relocs[i].cindices; j++) {
if (asicoffset >= eoffset) {
/* radeon_bo_debug(relocs[i].base.bo, 12); */
fprintf(stderr, "validated %p [0x%08X, 0x%08X]\n",
relocs[i].base.bo, soffset, eoffset);
fprintf(stderr, "above end: %p 0x%08X 0x%08X\n",
relocs[i].base.bo,
cs->packets[relocs[i].indices[j]],
eoffset);
exit(0);
return -EINVAL;
}
/* pkt3 nop header in ib chunk */
cs->packets[relocs[i].reloc_indices[j]] = 0xC0001000;
/* reloc index in ib chunk */
@@ -287,7 +275,7 @@ restart:
}

/* asic offset in reloc chunk */ /* see alex drm r600_nomm_relocate */
reloc_chunk[offset_dw] = asicoffset;
reloc_chunk[offset_dw] = soffset;
reloc_chunk[offset_dw + 3] = 0;

offset_dw += 4;

Loading…
Cancel
Save