struct amdgpu_winsys *ws = (struct amdgpu_winsys*)rws;
pipe_mutex_destroy(ws->bo_fence_lock);
-
- ws->cman->destroy(ws->cman);
- ws->kman->destroy(ws->kman);
+ pb_cache_deinit(&ws->bo_cache);
AddrDestroy(ws->addrlib);
-
amdgpu_device_deinitialize(ws->dev);
FREE(rws);
}
goto fail;
/* Create managers. */
- ws->kman = amdgpu_bomgr_create(ws);
- if (!ws->kman)
- goto fail;
- ws->cman = pb_cache_manager_create(ws->kman, 500000, 2.0f, 0,
- (ws->info.vram_size + ws->info.gart_size) / 8);
- if (!ws->cman)
- goto fail;
+ pb_cache_init(&ws->bo_cache, 500000, 2.0f, 0,
+ (ws->info.vram_size + ws->info.gart_size) / 8,
+ amdgpu_bo_destroy, amdgpu_bo_can_reclaim);
/* init reference */
pipe_reference_init(&ws->reference, 1);
ws->base.query_value = amdgpu_query_value;
ws->base.read_registers = amdgpu_read_registers;
- amdgpu_bomgr_init_functions(ws);
+ amdgpu_bo_init_functions(ws);
amdgpu_cs_init_functions(ws);
amdgpu_surface_init_functions(ws);
fail:
pipe_mutex_unlock(dev_tab_mutex);
- if (ws->cman)
- ws->cman->destroy(ws->cman);
- if (ws->kman)
- ws->kman->destroy(ws->kman);
+ pb_cache_deinit(&ws->bo_cache);
FREE(ws);
return NULL;
}