nv50_screen.h revision 83fe7149eaea7ca607a5aa74e092b9cf86f12b73
1#ifndef __NV50_SCREEN_H__
2#define __NV50_SCREEN_H__
3
4#include "nouveau/nouveau_screen.h"
5#include "nv50_context.h"
6
7struct nv50_screen {
8	struct nouveau_screen base;
9
10	struct nouveau_winsys *nvws;
11
12	struct nv50_context *cur_ctx;
13
14	struct nouveau_grobj *tesla;
15	struct nouveau_grobj *eng2d;
16	struct nouveau_grobj *m2mf;
17	struct nouveau_notifier *sync;
18
19	struct nouveau_bo *constbuf_misc[1];
20	struct nouveau_bo *constbuf_parm[PIPE_SHADER_TYPES];
21
22	struct nouveau_resource *immd_heap[1];
23	struct nouveau_resource *parm_heap[PIPE_SHADER_TYPES];
24
25	struct pipe_buffer *strm_vbuf[16];
26
27	struct nouveau_bo *tic;
28	struct nouveau_bo *tsc;
29
30	struct nouveau_stateobj *static_init;
31
32	boolean force_push;
33};
34
35static INLINE struct nv50_screen *
36nv50_screen(struct pipe_screen *screen)
37{
38	return (struct nv50_screen *)screen;
39}
40
41#endif
42