Merge branch 'mesa_7_5_branch'
[mesa.git] / src / gallium / drivers / nv04 / nv04_surface_2d.h
1 #ifndef __NV04_SURFACE_2D_H__
2 #define __NV04_SURFACE_2D_H__
3
4 struct nv04_surface {
5 struct pipe_surface base;
6 unsigned pitch;
7 };
8
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;
17
18 struct pipe_buffer *(*buf)(struct pipe_surface *);
19
20 void (*copy)(struct nv04_surface_2d *, struct pipe_surface *dst,
21 int dx, int dy, struct pipe_surface *src, int sx, int sy,
22 int w, int h);
23 void (*fill)(struct nv04_surface_2d *, struct pipe_surface *dst,
24 int dx, int dy, int w, int h, unsigned value);
25 };
26
27 struct nv04_surface_2d *
28 nv04_surface_2d_init(struct nouveau_screen *screen);
29
30 void
31 nv04_surface_2d_takedown(struct nv04_surface_2d **);
32
33 #endif