1 #ifndef __NV04_SURFACE_2D_H__
2 #define __NV04_SURFACE_2D_H__
5 struct pipe_surface base
;
9 struct nv04_surface_2d
{
10 struct nouveau_notifier
*ntfy
;
11 struct nouveau_grobj
*surf2d
;
12 struct nouveau_grobj
*swzsurf
;
13 struct nouveau_grobj
*m2mf
;
14 struct nouveau_grobj
*rect
;
15 struct nouveau_grobj
*blit
;
16 struct nouveau_grobj
*sifm
;
18 struct pipe_buffer
*(*buf
)(struct pipe_surface
*);
20 void (*copy
)(struct nv04_surface_2d
*, struct pipe_surface
*dst
,
21 int dx
, int dy
, struct pipe_surface
*src
, int sx
, int sy
,
23 void (*fill
)(struct nv04_surface_2d
*, struct pipe_surface
*dst
,
24 int dx
, int dy
, int w
, int h
, unsigned value
);
27 struct nv04_surface_2d
*
28 nv04_surface_2d_init(struct nouveau_screen
*screen
);
31 nv04_surface_2d_takedown(struct nv04_surface_2d
**);