i965/blorp: Use the return value of brw_emit_reloc.

This guarantees that the value written in the batch matches the
value recorded in the relocation entry.

(Chris Wilson wrote an identical patch as well.)
This commit is contained in:
Kenneth Graunke 2017-04-22 20:00:14 -07:00
parent 77844406d5
commit d9015b1eab
1 changed files with 3 additions and 3 deletions

View File

@ -73,10 +73,10 @@ blorp_surface_reloc(struct blorp_batch *batch, uint32_t ss_offset,
struct brw_context *brw = batch->driver_batch;
struct brw_bo *bo = address.buffer;
brw_emit_reloc(&brw->batch, ss_offset, bo, address.offset + delta,
address.read_domains, address.write_domain);
uint64_t reloc_val =
brw_emit_reloc(&brw->batch, ss_offset, bo, address.offset + delta,
address.read_domains, address.write_domain);
uint64_t reloc_val = bo->offset64 + address.offset + delta;
void *reloc_ptr = (void *)brw->batch.map + ss_offset;
#if GEN_GEN >= 8
*(uint64_t *)reloc_ptr = reloc_val;