nouveau_winsys.h revision cdc920a0
1#ifndef NOUVEAU_WINSYS_H
2#define NOUVEAU_WINSYS_H
3
4#include <stdint.h>
5#include "util/u_simple_screen.h"
6#include "pipe/p_defines.h"
7
8#include "nouveau/nouveau_bo.h"
9#include "nouveau/nouveau_channel.h"
10#include "nouveau/nouveau_class.h"
11#include "nouveau/nouveau_device.h"
12#include "nouveau/nouveau_grobj.h"
13#include "nouveau/nouveau_notifier.h"
14#include "nouveau/nouveau_resource.h"
15#include "nouveau/nouveau_pushbuf.h"
16
17#define NOUVEAU_CAP_HW_VTXBUF (0xbeef0000)
18#define NOUVEAU_CAP_HW_IDXBUF (0xbeef0001)
19
20#define NOUVEAU_TEXTURE_USAGE_LINEAR (1 << 16)
21
22#define NOUVEAU_BUFFER_USAGE_TEXTURE  (1 << 16)
23#define NOUVEAU_BUFFER_USAGE_ZETA     (1 << 17)
24#define NOUVEAU_BUFFER_USAGE_TRANSFER (1 << 18)
25
26/* use along with GPU_WRITE for 2D-only writes */
27#define NOUVEAU_BUFFER_USAGE_NO_RENDER (1 << 19)
28
29extern struct pipe_screen *
30nv30_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
31
32extern struct pipe_screen *
33nv40_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
34
35extern struct pipe_screen *
36nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
37
38#endif
39