nvc0->base.push_cb(&nvc0->base, buf, offset,
result_type >= PIPE_QUERY_TYPE_I64 ? 2 : 1,
ready);
+
+ util_range_add(&buf->valid_buffer_range, offset,
+ offset + (result_type >= PIPE_QUERY_TYPE_I64 ? 8 : 4));
+
+ nvc0_resource_validate(buf, NOUVEAU_BO_WR);
+
return;
}
PUSH_DATAh(push, buf->address + offset);
PUSH_DATA (push, buf->address + offset);
- if (buf->mm) {
- nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence);
- nouveau_fence_ref(nvc0->screen->base.fence.current, &buf->fence_wr);
- }
+ util_range_add(&buf->valid_buffer_range, offset,
+ offset + (result_type >= PIPE_QUERY_TYPE_I64 ? 8 : 4));
+
+ nvc0_resource_validate(buf, NOUVEAU_BO_WR);
}
static const struct nvc0_query_funcs hw_query_funcs = {