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