summaryrefslogtreecommitdiff
path: root/src/gallium/state_trackers/xorg/xorg_renderer.h
diff options
context:
space:
mode:
authorKeith Whitwell <keithw@vmware.com>2009-11-26 11:17:06 +0000
committerKeith Whitwell <keithw@vmware.com>2009-11-26 11:23:37 +0000
commit8544c309d0a296449d11cf2cf52ca306662dc41d (patch)
treedccb3bed08351ef4e7e04231fe667b6be271f9a3 /src/gallium/state_trackers/xorg/xorg_renderer.h
parent91a5131e6b4b9d55c7123d3a8334826a443abcf6 (diff)
st/xorg: split copy operation into prepare/copy/done phases
Any high-overhead one-off tasks are moved into the prepare hook.
Diffstat (limited to 'src/gallium/state_trackers/xorg/xorg_renderer.h')
-rw-r--r--src/gallium/state_trackers/xorg/xorg_renderer.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/gallium/state_trackers/xorg/xorg_renderer.h b/src/gallium/state_trackers/xorg/xorg_renderer.h
index 249bb719b6..ba844bf06e 100644
--- a/src/gallium/state_trackers/xorg/xorg_renderer.h
+++ b/src/gallium/state_trackers/xorg/xorg_renderer.h
@@ -48,10 +48,6 @@ void renderer_set_constants(struct xorg_renderer *r,
int shader_type,
const float *buffer,
int size);
-void renderer_copy_pixmap(struct xorg_renderer *r,
- struct exa_pixmap_priv *dst_priv, int dx, int dy,
- struct exa_pixmap_priv *src_priv, int sx, int sy,
- int width, int height);
void renderer_draw_yuv(struct xorg_renderer *r,
@@ -78,5 +74,20 @@ void renderer_texture(struct xorg_renderer *r,
void renderer_draw_flush(struct xorg_renderer *r);
+struct pipe_texture *
+renderer_clone_texture(struct xorg_renderer *r,
+ struct pipe_texture *src);
+
+void renderer_copy_prepare(struct xorg_renderer *r,
+ struct pipe_surface *dst_surface,
+ struct pipe_texture *src_texture);
+
+void renderer_copy_pixmap(struct xorg_renderer *r,
+ int dx, int dy,
+ int sx, int sy,
+ int width, int height,
+ float src_width,
+ float src_height);
+
#endif