summaryrefslogtreecommitdiff
path: root/src/qxl_bo.h
blob: 808e20d9fd3a296f8414abb98b9e3d9b2ca2991a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#ifndef QXL_BO_H
#define QXL_BO_H

#include <stdint.h>
struct qxl_bo {
  void *ptr;
  uint32_t handle;
  uint32_t size;
  uint32_t type;
  const char *name;
};

struct qxl_bo_manager;

struct qxl_bo *qxl_bo_alloc(struct qxl_bo_manager *mgr,
			    uint32_t size, uint32_t type,
			    const char *name);

int qxl_bo_map(struct qxl_bo *bo, int write);
void qxl_bo_unmap(struct qxl_bo *bo);

void qxl_bo_ref(struct qxl_bo *bo);
struct qxl_bo *qxl_bo_unref(struct qxl_bo *bo);

void qxl_update_area(struct qxl_bo_manager *managerx, uint32_t id, int x1, int y1, int x2,
		     int y2);

#define QXL_BO_SURFACE 1
#define QXL_BO_DATA 2

struct qxl_bo_manager *qxl_bo_ums_manager_create(void);
void qxl_bo_ums_create_mem(struct qxl_bo_manager *manager, uint32_t type, void *start, uint32_t size);
#endif