1 #ifndef __NV04_SURFACE_2D_H__
2 #define __NV04_SURFACE_2D_H__
4 struct nv04_surface_2d
{
5 struct nouveau_winsys
*nvws
;
6 struct nouveau_notifier
*ntfy
;
7 struct nouveau_grobj
*surf2d
;
8 struct nouveau_grobj
*swzsurf
;
9 struct nouveau_grobj
*m2mf
;
10 struct nouveau_grobj
*rect
;
11 struct nouveau_grobj
*blit
;
12 struct nouveau_grobj
*sifm
;
14 struct pipe_buffer
*(*buf
)(struct pipe_surface
*);
16 void (*copy
)(struct nv04_surface_2d
*, struct pipe_surface
*dst
,
17 int dx
, int dy
, struct pipe_surface
*src
, int sx
, int sy
,
19 void (*fill
)(struct nv04_surface_2d
*, struct pipe_surface
*dst
,
20 int dx
, int dy
, int w
, int h
, unsigned value
);
23 struct nv04_surface_2d
*
24 nv04_surface_2d_init(struct nouveau_winsys
*nvws
);
27 nv04_surface_2d_takedown(struct nv04_surface_2d
**);