static bool amdgpu_bo_do_map(struct amdgpu_winsys_bo *bo, void **cpu)
{
- assert(!bo->sparse && bo->bo && !bo->is_user_ptr);
+ assert(!(bo->flags & RADEON_FLAG_SPARSE) && bo->bo && !bo->is_user_ptr);
int r = amdgpu_bo_cpu_map(bo->bo, cpu);
if (r) {
/* Clean up buffer managers and try again. */
struct amdgpu_winsys_bo *real;
struct amdgpu_cs *cs = (struct amdgpu_cs*)rcs;
- assert(!bo->sparse);
+ assert(!(bo->flags & RADEON_FLAG_SPARSE));
/* If it's not unsynchronized bo_map, flush CS if needed and then wait. */
if (!(usage & PIPE_MAP_UNSYNCHRONIZED)) {
struct amdgpu_winsys_bo *bo = (struct amdgpu_winsys_bo*)buf;
struct amdgpu_winsys_bo *real;
- assert(!bo->sparse);
+ assert(!(bo->flags & RADEON_FLAG_SPARSE));
if (bo->is_user_ptr)
return;
struct amdgpu_winsys_bo *bo = amdgpu_winsys_bo(_buf);
int r;
- assert(!bo->bo && bo->sparse);
+ assert(!bo->bo && bo->flags & RADEON_FLAG_SPARSE);
r = amdgpu_bo_va_op_raw(bo->ws->dev, NULL, 0,
(uint64_t)bo->u.sparse.num_va_pages * RADEON_SPARSE_PAGE_SIZE,
bo->ws = ws;
bo->initial_domain = domain;
bo->unique_id = __sync_fetch_and_add(&ws->next_bo_unique_id, 1);
- bo->sparse = true;
bo->flags = flags;
bo->u.sparse.num_va_pages = DIV_ROUND_UP(size, RADEON_SPARSE_PAGE_SIZE);
bool ok = true;
int r;
- assert(bo->sparse);
+ assert(bo->flags & RADEON_FLAG_SPARSE);
assert(offset % RADEON_SPARSE_PAGE_SIZE == 0);
assert(offset <= bo->base.size);
assert(size <= bo->base.size - offset);
{
struct amdgpu_winsys_bo *bo = (struct amdgpu_winsys_bo*)buf;
- return !bo->bo && !bo->sparse;
+ return !bo->bo && !(bo->flags & RADEON_FLAG_SPARSE);
}
static uint64_t amdgpu_bo_get_va(struct pb_buffer *buf)
if (bo->bo) {
buffers = cs->real_buffers;
num_buffers = cs->num_real_buffers;
- } else if (!bo->sparse) {
+ } else if (!(bo->flags & RADEON_FLAG_SPARSE)) {
buffers = cs->slab_buffers;
num_buffers = cs->num_slab_buffers;
} else {
(1u << priority) & cs->last_added_bo_priority_usage)
return cs->last_added_bo_index;
- if (!bo->sparse) {
+ if (!(bo->flags & RADEON_FLAG_SPARSE)) {
if (!bo->bo) {
index = amdgpu_lookup_or_add_slab_buffer(acs, bo);
if (index < 0)