summaryrefslogtreecommitdiffstats
path: root/src/gallium/drivers/nouveau/nv30/nv30_screen.h
blob: c4c3aae52d9fc61d5b1b0513de1f1c5ad479bb4c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#ifndef __NV30_SCREEN_H__
#define __NV30_SCREEN_H__

#include <stdio.h>

#define NOUVEAU_ERR(fmt, args...) \
   fprintf(stderr, "%s:%d -  "fmt, __FUNCTION__, __LINE__, ##args);

#include "util/u_double_list.h"

#include "nouveau_screen.h"
#include "nouveau_fence.h"
#include "nouveau_heap.h"
#include "nv30/nv30_winsys.h"
#include "nv30/nv30_resource.h"

struct nv30_context;

struct nv30_screen {
   struct nouveau_screen base;

   struct nv30_context *cur_ctx;

   struct nouveau_bo *notify;

   struct nouveau_object *ntfy;
   struct nouveau_object *fence;

   struct nouveau_object *query;
   struct nouveau_heap *query_heap;
   struct list_head queries;

   struct nouveau_object *null;
   struct nouveau_object *eng3d;
   struct nouveau_object *m2mf;
   struct nouveau_object *surf2d;
   struct nouveau_object *swzsurf;
   struct nouveau_object *sifm;

   /*XXX: nvfx state */
   struct nouveau_heap *vp_exec_heap;
   struct nouveau_heap *vp_data_heap;
};

static INLINE struct nv30_screen *
nv30_screen(struct pipe_screen *pscreen)
{
   return (struct nv30_screen *)pscreen;
}

#endif