blob: 3f2e47fec996628b5eb836201ce1fc1b856ea4d2 [file] [log] [blame]
Ben Skeggsa2fc42b2012-01-11 12:42:07 +01001#ifndef __NV30_SCREEN_H__
2#define __NV30_SCREEN_H__
3
4#include <stdio.h>
5
Jason Ekstrand7a306682015-04-27 17:41:27 -07006#include "util/list.h"
Ben Skeggsa2fc42b2012-01-11 12:42:07 +01007
Ilia Mirkindd370f02014-02-21 02:22:31 -05008#include "nouveau_debug.h"
Johannes Obermayr5eb7ff12013-08-20 20:14:00 +02009#include "nouveau_screen.h"
10#include "nouveau_fence.h"
11#include "nouveau_heap.h"
12#include "nv30/nv30_winsys.h"
13#include "nv30/nv30_resource.h"
Ben Skeggsa2fc42b2012-01-11 12:42:07 +010014
15struct nv30_context;
16
17struct nv30_screen {
18 struct nouveau_screen base;
19
20 struct nv30_context *cur_ctx;
21
22 struct nouveau_bo *notify;
23
24 struct nouveau_object *ntfy;
25 struct nouveau_object *fence;
26
27 struct nouveau_object *query;
28 struct nouveau_heap *query_heap;
29 struct list_head queries;
30
31 struct nouveau_object *null;
32 struct nouveau_object *eng3d;
33 struct nouveau_object *m2mf;
34 struct nouveau_object *surf2d;
35 struct nouveau_object *swzsurf;
36 struct nouveau_object *sifm;
37
38 /*XXX: nvfx state */
39 struct nouveau_heap *vp_exec_heap;
40 struct nouveau_heap *vp_data_heap;
41};
42
43static INLINE struct nv30_screen *
44nv30_screen(struct pipe_screen *pscreen)
45{
46 return (struct nv30_screen *)pscreen;
47}
48
49#endif