1#ifndef __NV30_TRANSFER_H__
2#define __NV30_TRANSFER_H__
3
4struct nv30_rect {
5   struct nouveau_bo *bo;
6   unsigned offset;
7   unsigned domain;
8   unsigned pitch;
9   unsigned cpp;
10   unsigned w;
11   unsigned h;
12   unsigned d;
13   unsigned z;
14   unsigned x0;
15   unsigned x1;
16   unsigned y0;
17   unsigned y1;
18};
19
20enum nv30_transfer_filter {
21   NEAREST = 0,
22   BILINEAR
23};
24
25void
26nv30_transfer_rect(struct nv30_context *, enum nv30_transfer_filter filter,
27                   struct nv30_rect *, struct nv30_rect *);
28
29void
30nv30_transfer_push_data(struct nouveau_context *,
31                        struct nouveau_bo *, unsigned offset, unsigned domain,
32                        unsigned size, void *data);
33
34void
35nv30_transfer_copy_data(struct nouveau_context *,
36                        struct nouveau_bo *, unsigned dstoff, unsigned dstdom,
37                        struct nouveau_bo *, unsigned srcoff, unsigned srcdom,
38                        unsigned size);
39
40#endif
41