nouveau_winsys.h revision 4a49301e
1#ifndef NOUVEAU_WINSYS_H
2#define NOUVEAU_WINSYS_H
3
4#include <stdint.h>
5#include "pipe/internal/p_winsys_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
26extern struct pipe_screen *
27nv04_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
28
29extern struct pipe_context *
30nv04_create(struct pipe_screen *, unsigned pctx_id);
31
32extern struct pipe_screen *
33nv10_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
34
35extern struct pipe_context *
36nv10_create(struct pipe_screen *, unsigned pctx_id);
37
38extern struct pipe_screen *
39nv20_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
40
41extern struct pipe_context *
42nv20_create(struct pipe_screen *, unsigned pctx_id);
43
44extern struct pipe_screen *
45nv30_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
46
47extern struct pipe_context *
48nv30_create(struct pipe_screen *, unsigned pctx_id);
49
50extern struct pipe_screen *
51nv40_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
52
53extern struct pipe_context *
54nv40_create(struct pipe_screen *, unsigned pctx_id);
55
56extern struct pipe_screen *
57nv50_screen_create(struct pipe_winsys *ws, struct nouveau_device *);
58
59extern struct pipe_context *
60nv50_create(struct pipe_screen *, unsigned pctx_id);
61
62#endif
63