nv30_screen.h revision 901d7c3057d7ca3d12d5e417e376cb25ded0070c
1#ifndef __NV30_SCREEN_H__
2#define __NV30_SCREEN_H__
3
4#include "nouveau/nouveau_screen.h"
5
6#include "nv04/nv04_surface_2d.h"
7
8struct nv30_screen {
9	struct nouveau_screen base;
10
11	struct nouveau_winsys *nvws;
12
13	unsigned cur_pctx;
14
15	/* HW graphics objects */
16	struct nv04_surface_2d *eng2d;
17	struct nouveau_grobj *rankine;
18	struct nouveau_notifier *sync;
19
20	/* Query object resources */
21	struct nouveau_notifier *query;
22	struct nouveau_resource *query_heap;
23
24	/* Vtxprog resources */
25	struct nouveau_resource *vp_exec_heap;
26	struct nouveau_resource *vp_data_heap;
27
28	/* Current 3D state of channel */
29	struct nouveau_stateobj *state[NV30_STATE_MAX];
30};
31
32static INLINE struct nv30_screen *
33nv30_screen(struct pipe_screen *screen)
34{
35	return (struct nv30_screen *)screen;
36}
37
38void
39nv30_screen_init_transfer_functions(struct pipe_screen *pscreen);
40
41#endif
42