diff options
author | Keith Whitwell <keithw@vmware.com> | 2010-02-05 09:50:21 +0000 |
---|---|---|
committer | Keith Whitwell <keithw@vmware.com> | 2010-02-05 09:50:21 +0000 |
commit | c036d13d7d2cc905226fe53ebd86a18da808963f (patch) | |
tree | 1520a41a750b3a2a2685c3d7f46e87f921ad7b83 /src/gallium/drivers/nouveau/nv04_surface_2d.h | |
parent | 69f20294cd8bed52e4a9b648158423c5f0754941 (diff) | |
parent | 5b6b67eb3ff714fbba8aed88a22a7646e1dbf655 (diff) |
Merge commit 'fj/mesa-next'
Diffstat (limited to 'src/gallium/drivers/nouveau/nv04_surface_2d.h')
-rw-r--r-- | src/gallium/drivers/nouveau/nv04_surface_2d.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/src/gallium/drivers/nouveau/nv04_surface_2d.h b/src/gallium/drivers/nouveau/nv04_surface_2d.h new file mode 100644 index 0000000000..ce696a11a3 --- /dev/null +++ b/src/gallium/drivers/nouveau/nv04_surface_2d.h @@ -0,0 +1,37 @@ +#ifndef __NV04_SURFACE_2D_H__ +#define __NV04_SURFACE_2D_H__ + +struct nv04_surface { + struct pipe_surface base; + unsigned pitch; + struct nv04_surface* backing; +}; + +struct nv04_surface_2d { + struct nouveau_notifier *ntfy; + struct nouveau_grobj *surf2d; + struct nouveau_grobj *swzsurf; + struct nouveau_grobj *m2mf; + struct nouveau_grobj *rect; + struct nouveau_grobj *blit; + struct nouveau_grobj *sifm; + + struct pipe_buffer *(*buf)(struct pipe_surface *); + + void (*copy)(struct nv04_surface_2d *, struct pipe_surface *dst, + int dx, int dy, struct pipe_surface *src, int sx, int sy, + int w, int h); + void (*fill)(struct nv04_surface_2d *, struct pipe_surface *dst, + int dx, int dy, int w, int h, unsigned value); +}; + +struct nv04_surface_2d * +nv04_surface_2d_init(struct nouveau_screen *screen); + +void +nv04_surface_2d_takedown(struct nv04_surface_2d **); + +struct nv04_surface* +nv04_surface_wrap_for_render(struct pipe_screen *pscreen, struct nv04_surface_2d* eng2d, struct nv04_surface* ns); + +#endif |