1 #ifndef NOUVEAU_WINSYS_H
2 #define NOUVEAU_WINSYS_H
5 #include "pipe/internal/p_winsys_screen.h"
6 #include "pipe/p_defines.h"
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"
17 #define NOUVEAU_CAP_HW_VTXBUF (0xbeef0000)
18 #define NOUVEAU_CAP_HW_IDXBUF (0xbeef0001)
20 #define NOUVEAU_TEXTURE_USAGE_LINEAR (1 << 16)
22 #define NOUVEAU_BUFFER_USAGE_TEXTURE (1 << 16)
23 #define NOUVEAU_BUFFER_USAGE_ZETA (1 << 17)
24 #define NOUVEAU_BUFFER_USAGE_TRANSFER (1 << 18)
26 extern struct pipe_screen
*
27 nv04_screen_create(struct pipe_winsys
*ws
, struct nouveau_device
*);
29 extern struct pipe_context
*
30 nv04_create(struct pipe_screen
*, unsigned pctx_id
);
32 extern struct pipe_screen
*
33 nv10_screen_create(struct pipe_winsys
*ws
, struct nouveau_device
*);
35 extern struct pipe_context
*
36 nv10_create(struct pipe_screen
*, unsigned pctx_id
);
38 extern struct pipe_screen
*
39 nv20_screen_create(struct pipe_winsys
*ws
, struct nouveau_device
*);
41 extern struct pipe_context
*
42 nv20_create(struct pipe_screen
*, unsigned pctx_id
);
44 extern struct pipe_screen
*
45 nv30_screen_create(struct pipe_winsys
*ws
, struct nouveau_device
*);
47 extern struct pipe_context
*
48 nv30_create(struct pipe_screen
*, unsigned pctx_id
);
50 extern struct pipe_screen
*
51 nv40_screen_create(struct pipe_winsys
*ws
, struct nouveau_device
*);
53 extern struct pipe_context
*
54 nv40_create(struct pipe_screen
*, unsigned pctx_id
);
56 extern struct pipe_screen
*
57 nv50_screen_create(struct pipe_winsys
*ws
, struct nouveau_device
*);
59 extern struct pipe_context
*
60 nv50_create(struct pipe_screen
*, unsigned pctx_id
);