i965: Fix SURFACE_STATE to handle non-zero aux offsets

Signed-off-by: Ben Widawsky <ben@bwidawsk.net>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Acked-by: Daniel Stone <daniels@collabora.com>
This commit is contained in:
Ben Widawsky 2016-12-02 11:10:47 -08:00
parent 65a44a76fc
commit b0cc55f298

View file

@ -143,7 +143,6 @@ brw_emit_surface_state(struct brw_context *brw,
aux_surf = &aux_surf_s;
if (mt->mcs_buf) {
assert(mt->mcs_buf->offset == 0);
aux_bo = mt->mcs_buf->bo;
aux_offset = mt->mcs_buf->bo->offset64 + mt->mcs_buf->offset;
} else {
@ -185,7 +184,7 @@ brw_emit_surface_state(struct brw_context *brw,
uint32_t *aux_addr = state + brw->isl_dev.ss.aux_addr_offset;
drm_intel_bo_emit_reloc(brw->batch.bo,
*surf_offset + brw->isl_dev.ss.aux_addr_offset,
aux_bo, *aux_addr & 0xfff,
aux_bo, *aux_addr - aux_bo->offset64,
read_domains, write_domains);
}
}