1 #ifndef __NV30_TRANSFER_H__
2 #define __NV30_TRANSFER_H__
3 
4 struct 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 
20 enum nv30_transfer_filter {
21    NEAREST = 0,
22    BILINEAR
23 };
24 
25 void
26 nv30_transfer_rect(struct nv30_context *, enum nv30_transfer_filter filter,
27                    struct nv30_rect *, struct nv30_rect *);
28 
29 void
30 nv30_transfer_push_data(struct nouveau_context *,
31                         struct nouveau_bo *, unsigned offset, unsigned domain,
32                         unsigned size, void *data);
33 
34 void
35 nv30_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