Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/drivers/nouveau/nouveau_mm.h
4570 views
1
#ifndef __NOUVEAU_MM_H__
2
#define __NOUVEAU_MM_H__
3
4
union nouveau_bo_config;
5
struct nouveau_mman;
6
7
/* Since a resource can be migrated, we need to decouple allocations from
8
* them. This struct is linked with fences for delayed freeing of allocs.
9
*/
10
struct nouveau_mm_allocation {
11
void *priv;
12
uint32_t offset;
13
};
14
15
extern struct nouveau_mman *
16
nouveau_mm_create(struct nouveau_device *, uint32_t domain,
17
union nouveau_bo_config *);
18
19
extern void
20
nouveau_mm_destroy(struct nouveau_mman *);
21
22
extern struct nouveau_mm_allocation *
23
nouveau_mm_allocate(struct nouveau_mman *, uint32_t size,
24
struct nouveau_bo **, uint32_t *offset);
25
26
extern void
27
nouveau_mm_free(struct nouveau_mm_allocation *);
28
29
extern void
30
nouveau_mm_free_work(void *);
31
32
#endif // __NOUVEAU_MM_H__
33
34