1#ifndef __NV30_SCREEN_H__
2#define __NV30_SCREEN_H__
3
4#include <stdio.h>
5
6#define NOUVEAU_ERR(fmt, args...) \
7   fprintf(stderr, "%s:%d -  "fmt, __FUNCTION__, __LINE__, ##args);
8
9#include "util/u_double_list.h"
10
11#include "nouveau/nouveau_screen.h"
12#include "nouveau/nouveau_fence.h"
13#include "nouveau/nouveau_heap.h"
14#include "nv30_winsys.h"
15#include "nv30_resource.h"
16
17struct nv30_context;
18
19struct nv30_screen {
20   struct nouveau_screen base;
21
22   struct nv30_context *cur_ctx;
23
24   struct nouveau_bo *notify;
25
26   struct nouveau_object *ntfy;
27   struct nouveau_object *fence;
28
29   struct nouveau_object *query;
30   struct nouveau_heap *query_heap;
31   struct list_head queries;
32
33   struct nouveau_object *null;
34   struct nouveau_object *eng3d;
35   struct nouveau_object *m2mf;
36   struct nouveau_object *surf2d;
37   struct nouveau_object *swzsurf;
38   struct nouveau_object *sifm;
39
40   /*XXX: nvfx state */
41   struct nouveau_heap *vp_exec_heap;
42   struct nouveau_heap *vp_data_heap;
43};
44
45static INLINE struct nv30_screen *
46nv30_screen(struct pipe_screen *pscreen)
47{
48   return (struct nv30_screen *)pscreen;
49}
50
51#endif
52