uint64_t result = addr.offset + delta;
if (addr.bo) {
- iris_use_pinned_bo(batch, addr.bo, addr.write, addr.access);
+ iris_use_pinned_bo(batch, addr.bo,
+ !iris_domain_is_read_only(addr.access), addr.access);
/* Assume this is a general address, not relative to a base. */
result += addr.bo->gtt_offset;
}
rw_bo(struct iris_bo *bo, uint64_t offset, enum iris_domain access)
{
return (struct iris_address) { .bo = bo, .offset = offset,
- .write = true, .access = access };
+ .access = access };
}
struct iris_address addr = {
.bo = iris_resource_bo(q->query_state_ref.res),
.offset = q->query_state_ref.offset + offset,
- .write = true,
.access = IRIS_DOMAIN_OTHER_WRITE
};
return gen_mi_mem64(addr);